Comme j'ai hébergé un site WordPress dans des conteneurs docker et que je veux que ces conteneurs soient toujours démarrés au démarrage, je dois le faire manuellement.
Réponses
Trop de publicités?L'ajout de la politique de redémarrage sur un conteneur existant est un cas d'utilisation très courant.
Cela peut ê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
Jusqu'à présent, je ne pense pas qu'il existe un moyen de faire cela normalement. Une solution délicate consiste à utiliser politique de redémarrage
sudo docker run --restart=always -d your_image
Cela signifie qu'à chaque fois que vous fermez le système, votre conteneur est désactivé et que lorsque vous démarrez votre hôte, cela entraîne le redémarrage du docker.
Comme ubuntu 15 supporte maintenant systemd, échantillon pour ce gestionnaire :
nomd'unservice.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 site docker
P.S. Configuration plutôt mignonne :)
Ce que j'ai fait, c'est utiliser les fichiers Upstart.
Vous pouvez trouver quelques exemples et d'autres solutions dans le site web de Docker .
Créez un fichier tel que 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 y a politiques de redémarrage qui peut également aider à redémarrer automatiquement les conteneurs lorsque le service docker est lancé (après le démarrage par exemple).
Personnellement, j'utilise Puppet pour provisionner mon poste de travail et j'utilise cette Module Docker pour créer automatiquement le démarrage des scripts qui sont plus complètes (démarrage, arrêt, redémarrage, nettoyage des options...)