dcoker-compose - docker 下如何執(zhí)行crontab
問題描述
項目運(yùn)行在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 文件映射進(jìn)去。當(dāng)然也可以在 Dockerfile 里直接寫進(jìn)去3,用 supervisor 啟動主應(yīng)用和 crontab
其實使用 crontab 無非就是:安裝,配置,啟動。前兩步直接寫在 Dockerfile 中 build 時就做好了。關(guān)鍵是如何啟動,因為 Docker 只接受一個 CMD,沒法同時啟動主應(yīng)用和 crontab,用 supervisor 就可以了。
回答2:1.Dockerfile如下
FROM centosMAINTAINER zhaojunlike<zhaojunlike@gmail.com>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進(jìn)行構(gòu)建
2.可以使用其他腳本寫一個daemon程序,去模擬crontab實現(xiàn)
3.宿主機(jī)去實現(xiàn)(不推薦)
相關(guān)文章:
1. javascript - 百度echarts series數(shù)據(jù)更新問題2. javascript - JS設(shè)置Video視頻對象的currentTime時出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...3. php自學(xué)從哪里開始?4. MySQL客戶端吃掉了SQL注解?5. css3 - [CSS] 動畫效果 3D翻轉(zhuǎn)bug6. python小白的基礎(chǔ)問題 關(guān)于while循環(huán)的嵌套7. java固定鍵值轉(zhuǎn)換,使用枚舉實現(xiàn)字典?8. 求大神幫我看看是哪里寫錯了 感謝細(xì)心解答9. phpstady在win10上運(yùn)行10. java - 我設(shè)置了cookie的max age,但是cookie依然在關(guān)閉游覽器后消失了
