Comment démarrer automatiquement le conteneur Docker lors du redémarrage du système?

30

Comme j'ai hébergé un site WordPress dans des conteneurs Docker et que je souhaite toujours que ces conteneurs soient démarrés au démarrage, vous devez donc le faire manuellement.

    
posée nayan tiwari 08.05.2015 - 09:47
la source

4 réponses

24

Jusqu'à présent, je ne pense pas qu'il existe un moyen de le faire normalement. Une solution délicate consiste à utiliser la stratégie de redémarrage

.
sudo docker run --restart=always -d your_image

Cela signifie que chaque fois que vous fermez cette session, vous quitterez votre conteneur lorsque vous démarrez votre hôte, ce qui entraîne le redémarrage du menu fixe.

    
réponse donnée Maythux 08.05.2015 - 10:08
la source
17

Comme Ubuntu 15 prend désormais en charge systemd, exemple pour ce gestionnaire:

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

Plus disponible sur le site Docker

P.S.   Pretty cute config :)

    
réponse donnée Reishin 18.11.2015 - 01:10
la source
9

Il est très courant d’ajouter la politique de redémarrage sur un conteneur existant.

Cela pourrait être fait avec la commande suivante: docker update --restart {no,on-failure,unless-stopped,always} container_name

Plus de détails: Docker - Démarrer les conteneurs automatiquement

    
réponse donnée SlimIT 12.11.2017 - 02:21
la source
4

J'ai utilisé des fichiers Upstart.

Vous trouverez des exemples et d’autres solutions dans le site Web Docker .

Créez un fichier comme celui-ci dans / 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

Notez qu'à partir de Docker 1.2, il existe des règles de redémarrage qui peuvent également aider à redémarrer automatiquement les conteneurs lorsque le service docker est exécuté (après le démarrage par exemple).

Personnellement, j'utilise la marionnette pour configurer mon poste de travail et utiliser ce module Docker pour créer automatiquement le scripts de démarrage plus complets (démarrage, arrêt, redémarrage, options propres ...)

    
réponse donnée aklmie 29.07.2015 - 16:48
la source

Lire d'autres questions sur les étiquettes