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