You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Cron定时任务启动失败报错unknown flag: --rm 排查求助

问题原因

  1. 命令存在重复调用问题:你在定时任务中写的$(command -v docker) docker run ...执行时会展开为类似/usr/bin/docker docker run ...的结构,等于把第二个docker当成了docker命令的子命令传入,而--rm是run子命令的专属参数,docker顶层参数本身不存在--rm,因此触发参数不识别报错。你手动执行时没有额外加前面的$(command -v docker)段,直接执行docker run自然可以正常运行。
  2. 多余的交互参数:-it是分配伪终端、开启交互输入的参数,cron运行环境没有对应的交互终端,就算修复第一个问题,保留该参数也会导致执行失败。

解决方案

直接修改定时任务中的命令,删除重复的docker字段和-it参数即可,修改后命令如下:

* * * * * $(command -v docker) run --rm --env-file=/home/ubuntu/.env ghcr.io/sebastix/crypto-dca:latest buy 10 ADA

你也可以先执行which docker拿到docker二进制的绝对路径(默认是/usr/bin/docker),直接写绝对路径避免环境变量问题:

* * * * * /usr/bin/docker run --rm --env-file=/home/ubuntu/.env ghcr.io/sebastix/crypto-dca:latest buy 10 ADA

如果使用的是root用户的定时任务(sudo crontab -e),确认root有权限拉取/访问对应镜像即可;如果使用普通用户的定时任务,确保普通用户已经加入docker用户组,无需sudo即可执行docker命令。

内容的提问来源于stack exchange,提问作者Nebucadnezzar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:45:02