如何給debian的docker容器添加crontab定時任務-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關如何給debian的docker容器添加crontab定時任務,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)建站-專業(yè)網站定制、快速模板網站建設、高性價比略陽網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式略陽網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋略陽地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

現(xiàn)在大部分的docke鏡像是基于debian

# cat /etc/issue
Debian GNU/Linux 9 \n \l

Docker容器是不支持后臺服務的,像systemctl service crontab這些后臺運行的服務是不能通過

RUN systemctl start nginx

類似這種方案實現(xiàn)的,你必須寫自己的entrypoint腳本來啟動。本文記錄了基于Debian的docker容器設置定時任務的方式。

案例背景

我部署一個前端項目,使用nginx鏡像,由于官方鏡像是基于debian,對比alpine也不覺得體積差多少,于是就使用debian作為容器系統(tǒng)。

Dockerfile看起來是這樣的

FROM nginx:1.15.10
MAINTAINER Ryan Miao

COPY sources.list  /etc/apt/sources.list
RUN apt-get update && apt-get install -y net-tools procps curl wget vim telnet cron 、
  && apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/*

RUN mkdir -p /data/log/nginx && mkdir -p /data/web && rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
ADD index.html /data/web/

ADD clean_log.sh /data/
COPY clean-cron /etc/cron.d/clean-cron
RUN chmod 755 /data/clean_log.sh && crontab /etc/cron.d/clean-cron

ENTRYPOINT nginx && cron && /bin/bash

大概就是安裝cron,然后替換nginx config, 然后復制我們的靜態(tài)文件,最后啟動nginx, 啟動cron。

說說為啥會有定時任務??梢钥吹轿覀兪怯卸〞r清理腳本的,由于nginx自己沒提供日志處理模塊,所以才有清理腳本。清理腳本需要定時執(zhí)行,于是就有定時任務,于是發(fā)現(xiàn)docker容器是不支持service的。

總的來說一共有以下幾步:

install

apt-get install cron

add to crontab

crontab /etc/cron.d/your-crontab

docker啟動時啟動cron

ENTRYPOINT cron && xxxxx

關于“如何給debian的docker容器添加crontab定時任務”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

分享標題:如何給debian的docker容器添加crontab定時任務-創(chuàng)新互聯(lián)
URL分享:http://muchs.cn/article24/cocgce.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航關鍵詞優(yōu)化、品牌網站設計、電子商務網站制作、Google

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管