環境,docker centos7.4docker
容器啓動時注意兩點centos
入口要設置/usr/sbin/init,而且配置主機徹底訪問權限(--privileged)測試
(不然執行service的時候會出現Failed to get D-Bus connection: Operation not permitted)centos7
一、查看cron服務是否正常運行blog
service crond statuscrontab
若是service報命令找不到的錯,執行 yum -y install initscriptsip
二、啓動cron(設置爲隨容器啓動)get
/usr/sbin/crond -i博客
三、重點坑1it
定時任務在vi /etc/crontab下設置(注意要指定用戶名,修改無須重啓),不要使用crontab -e(我試驗設置是沒有效果的)
四、重點坑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/