2017-03-03 1 views
0

Ich habe ein Basis-Image von alpine/nginx/php-fpm erstellt, das ich für die Bereitstellung mehrerer Websites verwende.Installiere Cron-Tasks in einem Docker-Run-Befehl

Jede Seite hat ihre eigenen Cron-Jobs.

Wie kann ich benutzerdefinierte Cron-Jobs erstellen, die im Befehl docker run gestartet werden, wenn der Container initialisiert wird?

+0

Nun, Sie haben offensichtlich einen Prozess-Manager in irgendeiner Art ... Add cron. – user2105103

Antwort

3

Denken über Microservices-Architektur sowie Docker-Philosophie, um einen Dienst pro Container auszuführen, verwende ich Dockerhosts cron, um Aufgaben des Containers zu planen, anstatt cron in jedem Container zu installieren. mit cron auf dem dockerhost

docker exec <container name> /path/to/shell /path/to/script 

Testen Sie den obigen Befehl, und wenn, wenn Werke es wie erwartet, planen:

Um das zu tun, nennen Sie Ihre Behälter dann mit richtig beginnen.

+0

Um ein PHP-Skript auszuführen, würde es nicht auch den Pfad der PHP-Binärdatei benötigen? Würde so etwas funktionieren? 'docker exec bash/usr/bin/php /var/www/test.php >> /var/log/cron.log 2> & 1' –

+1

Das ist richtig. Wenn Sie keine Protokollierung benötigen, können Sie sogar bash auslassen. –

+0

Getestet. Es funktioniert, aber ich musste bash entfernen. –

Verwandte Themen