在未运行的Docker容器上运行crontab吗?

时间:2020-01-12 16:12:02

标签: docker cron

在主机上,我具有以下crontab命令: * * * * * /usr/bin/docker exec container_name rm /tmp/*.txt

但是,当我通过docker exec container_name bash登录到容器并查看/ tmp目录的内容时,我看到了所有.txt文件。登录并手动运行此rm命令后,所有.txt文件都会从/ tmp中清除。

我在容器上运行的其他crontab正在运行。

是什么原因导致它不起作用?

1 个答案:

答案 0 :(得分:1)

汇总我的评论中的答案:

通过cron运行的命令与运行需要终端的bash所执行的命令不同。相反,一种更简单的方法是通过cron从主机上执行container:script.sh,该操作与

相同或

您可以尝试使用引号:

#crontab 
/usr/bin/docker exec container_name /bin/sh -c "rm /tmp/*.txt"