【发布时间】:2018-08-29 14:16:09
【问题描述】:
我有一个运行 Ubuntu 16.04 的虚拟机,我想在其上运行 cron 调度的 Docker 容器。我已经配置了 Docker 主机和我的图像存储库,以便 VM 可以访问它们,并且图像在机器上运行良好。
我的问题是,当我在/var/spool/cron 中使用 crontab -e 创建一个 cron 计划时,容器没有出现。我应该能够使用$ docker ps -a 查看任何停止的容器,但它没有显示它们。运行sudo grep CRON -i /var/log/syslog 显示输出:
Mar 20 16:22:01 SpacyVM CRON[121879]: (bdsadmin) CMD (docker run -d
bdsdev.azurecr.io/crawler-public)
Mar 20 16:22:05 SpacyVM CRON[121878]: (CRON) info (No MTA installed,
discarding output)
Mar 20 16:24:01 SpacyVM CRON[124254]: (bdsadmin) CMD (docker run -d
bdsdev.azurecr.io/crawler-public)
Mar 20 16:24:02 SpacyVM CRON[124253]: (CRON) info (No MTA installed,
discarding output)
现在,这确实每 2 分钟运行一次,按照用于调试目的的计划,但 docker ps -a 没有显示任何内容,即使容器应该已经退出,因此在我使用 docker rm $(docker ps -aq) 之前应该处于空闲状态。有没有人见过这个问题?
这是我在 crontab 中配置的工作:
*/2 * * * * docker run -d bdsdev.azurecr.io/crawler-public
注意:我没有为要输出到的 cronjobs 创建邮件设置,因此出现No MTA... 错误,我在 Ubuntu 虚拟机中运行此设置,而不是在 Ubuntu docker 基础映像上运行。
【问题讨论】:
标签: azure docker cron ubuntu-16.04