Come posso avviare automaticamente il contenitore della finestra mobile al riavvio del sistema?


47

Dato che ho ospitato un sito WordPress in contenitori docker e desidero che questi contenitori vengano avviati sempre all'avvio, quindi è necessario farlo manualmente.


quale versione di Ubuntu usi?
Maythux,

usando ubuntu server 14.04
nayan tiwari

Questo è stato chiesto su ServerFault .
Dan Dascalescu,

Crosspost. Scegli un sito, non molti, per pubblicare articoli.
Thomas Ward

Risposte:


35

Fino ad ora non penso che ci sia un modo per farlo normalmente. Una soluzione complicata è utilizzare la politica di riavvio

sudo docker run --restart=always -d your_image

Ciò significa che ogni volta che lo spegni, questo uscirà dal tuo contenitore, così come avvierai il tuo host, questo porterà a riavviare la finestra mobile.


mentre
cerco


2
Perché non usare le possibilità di sistema per questo? sia upstart che systemd possono affrontarlo perfettamente
Reishin,

29

È un caso d'uso molto comune aggiungere la politica di riavvio su un contenitore esistente.

Questo potrebbe essere fatto con il seguente comando: docker update --restart {no,on-failure,unless-stopped,always} container_name

Maggiori dettagli: Docker: avvia automaticamente i contenitori


2
Questo ha risolto perfettamente il mio problema! Avevo un contenitore con il mio database e volevo che fosse avviato all'avvio del mio Mac. Specificando che la sua immagine è stata sempre riavviata (a meno che non sia stata interrotta), questo ha funzionato!
Colin,

21

Dato che Ubuntu 15 ora supporta systemd, esempio per questo gestore:

someservicename.service

[Unit]
Description=Some service
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a container_name
ExecStop=/usr/bin/docker stop -t 2 container_name

[Install]
WantedBy=multi-user.target

Altro disponibile sul sito docker

PS Configurazione piuttosto carina :)


4

Quello che ho fatto è stato usare i file Upstart.

Puoi trovare alcuni esempi e altre soluzioni nel sito Web Docker .

Crea un file come quello in / etc / init:

Description "My container"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
   /usr/bin/docker start -a mycontainer
end script
pre-stop script
  /usr/bin/docker stop mycontainer
end script

Nota, a partire da Docker 1.2, esistono criteri di riavvio che possono anche aiutare a riavviare automaticamente i contenitori quando viene eseguito il servizio docker (dopo l'avvio, ad esempio).

Personnaly, utilizzo Puppet per eseguire il provisioning della mia workstation e utilizzo questo modulo Docker per creare automaticamente gli script di avvio che sono più completi (avvio, arresto, riavvio, opzioni pulite ...)


1
upstart è morto. usa systemd.
AmirHossein
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.