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
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 Dockerfile3, 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.
1.Dockerfile est le suivant
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é)