成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

dcoker-compose - docker 下如何執(zhí)行crontab

瀏覽:175日期:2024-10-16 09:58:35

問(wèn)題描述

項(xiàng)目運(yùn)行在docker下,現(xiàn)在有crontab 的需求,想要在docker 下添加crontab,發(fā)現(xiàn)加不了。使用docker 的大神們是怎么怎么在docker下來(lái)添加自己的crontab的呢。項(xiàng)目使用的是docker-compose 2.0系統(tǒng)配的是ubuntu語(yǔ)言用的是php7

問(wèn)題解答

回答1:

我的做法:

1,Dockerfile 里安裝 crontab2,用 volume 把本地的 etc/crontab 文件映射進(jìn)去。當(dāng)然也可以在 Dockerfile 里直接寫(xiě)進(jìn)去3,用 supervisor 啟動(dòng)主應(yīng)用和 crontab

其實(shí)使用 crontab 無(wú)非就是:安裝,配置,啟動(dòng)。前兩步直接寫(xiě)在 Dockerfile 中 build 時(shí)就做好了。關(guān)鍵是如何啟動(dòng),因?yàn)?Docker 只接受一個(gè) CMD,沒(méi)法同時(shí)啟動(dòng)主應(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

dcoker-compose - docker 下如何執(zhí)行crontab

你可以添加到docker-compose進(jìn)行構(gòu)建

2.可以使用其他腳本寫(xiě)一個(gè)daemon程序,去模擬crontab實(shí)現(xiàn)

3.宿主機(jī)去實(shí)現(xiàn)(不推薦)

相關(guān)文章: