我有一个简单的Dockerfile如下
原文链接:https://www.f2er.com/ubuntu/349136.htmlFROM ubuntu:latest ADD crontab /etc/cron.d/test-cron RUN chmod a+x /etc/cron.d/test-cron RUN touch /var/log/cron.log CMD cron && tail -f /var/log/cron.log
* * * * * root echo "Hello world" >> /var/log/cron.log 2>&1 # empty line
当我在本地的OS X机器上运行(运行Docker机器)时,它工作正常(“Hello world”每分钟打印到日志文件).但是,当我尝试在Ubuntu机器上运行它时,cron作业不会运行(空日志文件).
这是我用来运行容器的命令
docker build -t crontest . docker run --name cron crontest
我不知道为什么会这样.我不知道有什么问题,我有Ubuntu的框(错误的时间设置?).我已经尝试重新启动该机器没有任何效果.我目前还有其他的Docker容器运行在Ubuntu的盒子上,它们运行正常.
任何建议我可以做什么来调试/修复这将是非常感谢.
编辑:
进入容器(docker exec -it cron / bin / bash)之后,我可以验证cron是否在运行:
root@a2ad451af8d9:/# ps -ef | grep cron root 1 0 0 20:15 ? 00:00:00 /bin/sh -c cron && tail -f /var/log/cron.log root 6 1 0 20:15 ? 00:00:00 cron root 7 1 0 20:15 ? 00:00:00 tail -f /var/log/cron.log root 25 11 0 20:21 ? 00:00:00 grep --color=auto cron