dcoker-compose - docker 下如何執(zhí)行crontab
問題描述
項目運行在docker下,現(xiàn)在有crontab 的需求,想要在docker 下添加crontab,發(fā)現(xiàn)加不了。使用docker 的大神們是怎么怎么在docker下來添加自己的crontab的呢。項目使用的是docker-compose 2.0系統(tǒng)配的是ubuntu語言用的是php7
問題解答
回答1:我的做法:
1,Dockerfile 里安裝 crontab2,用 volume 把本地的 etc/crontab 文件映射進去。當(dāng)然也可以在 Dockerfile 里直接寫進去3,用 supervisor 啟動主應(yīng)用和 crontab
其實使用 crontab 無非就是:安裝,配置,啟動。前兩步直接寫在 Dockerfile 中 build 時就做好了。關(guān)鍵是如何啟動,因為 Docker 只接受一個 CMD,沒法同時啟動主應(yīng)用和 crontab,用 supervisor 就可以了。
回答2:1.Dockerfile如下
FROM centosMAINTAINER zhaojunlike<[email protected]>ADD ./crond/task.sh /server/task.sh##安裝并添加任務(wù)到crontabRUN yum install crontabs -y && (crontab -l; echo '*/1 * * * * /server/task.sh >>/var/log/task.log' ) | crontabCMD crond
你可以添加到docker-compose進行構(gòu)建
2.可以使用其他腳本寫一個daemon程序,去模擬crontab實現(xiàn)
3.宿主機去實現(xiàn)(不推薦)
相關(guān)文章:
1. 老師您好!我有一個問題、2. python3.x - python lxml無法查找第一個tag有鏈接和沒有內(nèi)容tag的子tag的text?3. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法4. 無法遠程連接mysql5. javascript - 請問為什么這個補零函數(shù)為什么要放window.onload外面?6. 初來乍到,相對路徑問題,新手求教7. 后端開發(fā) - mysql按時間分段統(tǒng)計的sql語句怎么寫好?8. javascript - 根據(jù)不同數(shù)據(jù)顯示不同內(nèi)容9. javascript - react input file10. mysql - 在下剛?cè)腴Tsql 關(guān)于sql的語法詢問
