我正在尝试运行一个docker容器来管理我的cronjob
我正在使用centOS 6.5base在码头容器中运行一个非常简单的cron作为测试
* * * * * /bin/echo "it works!" >> test.log
如果容器运行在CoreOS主机上,它工作得很好,但是如果我在ubuntu13.10主机上运行容器,cron就不会执行。(我认为主机不会影响容器中运行的内容)
两台主机都运行docker 0.8
我是不是漏掉了什么明显的东西,还是这是个bug?
谢谢
发布于 2014-02-21 15:50:24
基本的Docker容器不会启动像cron这样的服务-它们只启动您在入口点/CMD中指定的内容
一些“胖”容器使用诸如supervisord之类的东西来启动服务-但在可能的情况下,将服务分离到不同的容器中并使用卷容器共享数据更易于维护,或者--link
发布于 2017-05-26 20:10:49
@dwitz的答案是正确的,但我不得不稍微修改一下sed
命令,使其在Ubuntu16.04的docker容器中为我工作。
cat /etc/pam.d/cron |sed -e "s/required pam_loginuid.so/optional pam_loginuid.so/g" > /tmp/cron && mv /tmp/cron /etc/pam.d/cron
发布于 2018-07-08 21:38:18
在我的例子中,我调试cron:
$ apt-get install rsyslog
$ rsyslogd
$ service cron restart
$ tail -f /var/log/syslog
并在日志中发现NUMBER OF HARD LINKS > 1
错误。
解决方案是将其放在entrypoint.sh
中
touch /etc/crontab /etc/cron.d/*
然后轰隆隆!
https://stackoverflow.com/questions/21926465
复制相似问题