dcoker-compose - Comment exécuter crontab sous docker
習慣沉默
習慣沉默 2017-05-24 11:32:55
0
2
1068

Le projet s'exécute sous Docker, et maintenant il y a une exigence pour crontab. Je souhaite ajouter crontab sous Docker, mais je trouve qu'il ne peut pas être ajouté. Comment les experts qui utilisent Docker ajoutent-ils leur propre crontab sous Docker ?
Le projet utilise docker-compose 2.0
Le système est équipé d'ubuntu
Le langage est php7

習慣沉默
習慣沉默

répondre à tous(2)
刘奇

Mon approche :

1, installez crontab
2 dans Dockerfile et mappez-le avec le fichier volume 把本地的 etc/crontab. Bien sûr, vous pouvez également l'écrire directement dans le Dockerfile
3, et utiliser le superviseur pour démarrer l'application principale et la crontab

En fait, utiliser crontab n'est rien d'autre que : l'installation, la configuration et le démarrage. Les deux premières étapes sont écrites directement dans le Dockerfile lors de la construction. La clé est de savoir comment démarrer, car Docker n'accepte qu'un seul CMD et ne peut pas démarrer l'application principale et crontab en même temps.

PHPzhong

1.Dockerfile est le suivant

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

Vous pouvez ajouter à docker-compose pour construire

2. Vous pouvez utiliser d'autres scripts pour écrire un programme démon afin de simuler l'implémentation de crontab

3. Implémentez-le sur l'hôte (non recommandé)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal