docker crontab踩坑记录


环境,docker centos7.4

容器启动时注意两点

入口要设置/usr/sbin/init,并且配置主机完全访问权限(--privileged)

(否则执行service的时候会出现Failed to get D-Bus connection: Operation not permitted)

 

1、查看cron服务是否正常运行

service crond status

如果service报命令找不到的错,执行 yum -y install initscripts

2、启动cron(设置为随容器启动)

/usr/sbin/crond -i

3、重点坑1

定时任务在vi /etc/crontab下设置(注意要指定用户名,修改无须重启),不要使用crontab -e(我试验设置是没有效果的)

4、重点坑2

要设置定时任务的user-name,在宿主机使用不设置也是正常的,docker容器里面就必须要设置了。稳妥起见,以后都统一设置吧

 

附上测试任务语句

*/1 * * * * root sh /root/test111.sh >> /root/testrsss.txt

每分钟 的第一秒 执行 test111.sh 并且向 testrsss.txt输出,查看是否正常执行,sh前面的就是user-name

 

具体原因也没有深究,估计是docker的用户环境有冲突吧

 

不过最后试验后还是很多奇怪的bug,决定不在docker中使用定时器了,下一篇继续记录解决方法

 

 转载请注明博客出处:http://www.cnblogs.com/cjh-notes/

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM