第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在docker容器中運行cron作業(yè)?

如何在docker容器中運行cron作業(yè)?

如何在docker容器中運行cron作業(yè)?我試圖在一個調(diào)用shell腳本的docker容器中運行一個cronjob。昨天我一直在網(wǎng)上搜索和堆棧溢出,但我真的找不到一個有效的解決方案。我怎樣才能做到這一點?編輯:我創(chuàng)建了一個(注釋的)github存儲庫,其中包含一個工作的docker cron容器,它以給定的時間間隔調(diào)用shell腳本。
查看完整描述

3 回答

?
胡說叔叔

TA貢獻1804條經(jīng)驗 獲得超8個贊

采用的解決方案在生產(chǎn)環(huán)境中可能是危險的。

在docker中,每個容器只應執(zhí)行一個進程,因為如果不這樣做,則不會監(jiān)視分叉并進入后臺的進程,并且可能會在您不知情的情況下停止。

當您使用CMD cron && tail -f /var/log/cron.logcron進程基本上fork以便cron在后臺執(zhí)行時,主進程退出并讓您tailf在前臺執(zhí)行。后臺cron進程可能會停止或失敗,您將不會注意到,您的容器仍將以靜默方式運行,并且您的業(yè)務流程工具將不會重新啟動它。

你可以通過直接將cron的命令輸出重定向到你的docker stdout并且stderr分別位于/proc/1/fd/1和中來避免這種情況/proc/1/fd/2。

使用基本的shell重定向,您可能希望執(zhí)行以下操作:

* * * * * root echo hello > /proc/1/fd/1 2>/proc/1/fd/2

你的CMD將是: CMD ["cron", "-f"]


查看完整回答
反對 回復 2019-07-29
?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

對于那些想要使用簡單輕量圖像的人:

FROM alpine:3.6# copy crontabs for root userCOPY config/cronjobs /etc/crontabs/root# start crond with log level 8 in foreground, output to stderrCMD ["crond", "-f", "-d", "8"]

其中cronjobs是包含cronjobs的文件,其形式如下:

* * * * * echo "hello stackoverflow" >> /test_file 2>&1# remember to end this file with an empty new line


查看完整回答
反對 回復 2019-07-29
  • 3 回答
  • 0 關注
  • 1965 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號