【发布时间】:2021-08-15 10:29:48
【问题描述】:
我有一个加载 python 图像的 docker 容器。然后我正在运行一个通过Dockerfile 复制到 docker 容器的 python 脚本,如下所示:
docker run --net=host mybuiltimage /bin/bash -c "python src/runscript.py"
此命令直接从终端运行。为了让它通过 cron 工作并输出到日志文件,我做了一些更改:
* * * * * cd /dir/to/dockerfile && /usr/bin/docker run --net=host mybuiltimage /bin/bash -c "python src/runscript.py" >> /dir/to/log/mylog.log 2>&1
这里的变化是我将目录更改为 Dockerfile 目录并明确给出 docker 命令的完整路径。
此 cronjob 仍未执行。 mylog.log 未在给定目录中创建。 这有什么问题?
【问题讨论】:
-
尝试使用带有分离标志 (-d) 的 docker run
-
仍未执行
-
为什么需要 cd 到带有 dockerfile 的目录?为什么在使用 docker run 时引用的是容器而不是图像?
-
我正在引用从 Dockerfile 构建的映像
mycontainer只是我输入的占位符名称,它具有误导性......现在已编辑。现在我意识到我不需要 cd 进入目录。这只是我的一种习惯,因为我通常在run之前使用build,这确实需要cd 到目录。仍然没有解决我的问题。