Heim  >  Fragen und Antworten  >  Hauptteil

dcoker-compose – So führen Sie crontab unter Docker aus

Das Projekt läuft unter Docker, und jetzt ist Crontab erforderlich. Ich möchte Crontab unter Docker hinzufügen, finde aber, dass es nicht hinzugefügt werden kann. Wie fügen die Experten, die Docker verwenden, ihre eigene Crontab unter Docker hinzu?
Das Projekt verwendet Docker-Compose 2.0
Das System ist mit Ubuntu ausgestattet
Die Sprache ist PHP7

習慣沉默習慣沉默2728 Tage vor1030

Antworte allen(2)Ich werde antworten

  • 怪我咯

    怪我咯2017-05-24 11:34:55

    我的做法:

    1,Dockerfile 里安装 crontab
    2,用 volume 把本地的 etc/crontab 文件映射进去。当然也可以在 Dockerfile 里直接写进去
    3,用 supervisor 启动主应用和 crontab

    其实使用 crontab 无非就是:安装,配置,启动。前两步直接写在 Dockerfile 中 build 时就做好了。关键是如何启动,因为 Docker 只接受一个 CMD,没法同时启动主应用和 crontab,用 supervisor 就可以了。

    Antwort
    0
  • PHPz

    PHPz2017-05-24 11:34:55

    1.Dockerfile如下

    FROM centos
    MAINTAINER zhaojunlike<zhaojunlike@gmail.com>
    ADD ./crond/task.sh /server/task.sh
    ##安装并添加任务到crontab
    RUN yum install crontabs -y \
        && (crontab -l; echo "*/1 * * * * /server/task.sh >>/var/log/task.log" ) | crontab
    CMD crond
    

    你可以添加到docker-compose进行构建

    2.可以使用其他脚本写一个daemon程序,去模拟crontab实现

    3.宿主机去实现(不推荐)

    Antwort
    0
  • StornierenAntwort