Wie führe ich docker-compose -d beim Systemstart aus?

8

Um die Container am Startpunkt automatisch starten zu lassen, habe ich versucht, den Befehl cd directory_has_dockercomposeyml && docker-compose up -d in /etc/rc.local hinzuzufügen. aber nach dem Neustart der Maschine funktionieren die Container nicht.

Wie rufe docker-compose -d beim Systemstart auf?

    
user39544 28.04.2017, 03:28
quelle

4 Antworten

12

Ich probierte restart: always , es funktioniert bei einigen Containern (wie php-fpm), aber ich hatte das Problem, dass einige Container (wie nginx) nach dem Neustart immer noch nicht neu gestartet werden.

Das Problem wurde behoben.

%Vor%     
user39544 28.04.2017 05:31
quelle
6

Sie sollten hinzufügen können:

%Vor%

für jeden Dienst, den Sie in der Datei docker-compose.yml neu starten möchten

    
MaxiReglisse 19.07.2017 14:25
quelle
4

Wenn wir crontab oder die veraltete Datei /etc/rc.local verwenden, benötigen wir eine Verzögerung (z. B. sleep 10 , abhängig von der Maschine), um sicherzustellen, dass Systemdienste verfügbar sind. Normalerweise wird systemd (oder upstart ) verwendet, um zu verwalten, welche Dienste beim Systemstart gestartet werden. Sie können versuchen, die ähnliche Konfiguration dafür zu verwenden:

%Vor%

Oder wenn Sie ohne das -d -Flag ausführen möchten:

%Vor%

Und die Aktivierung des Dienstes wird automatisch gestartet:

%Vor%     
Oleg Belostotsky 02.01.2018 19:07
quelle
2

Als Ergänzung zur Antwort von user39544 , eine weitere Syntax für crontab -e :

%Vor%     
TitanFighter 02.10.2017 15:50
quelle

Tags und Links