En supposant que le démon Docker est redémarré automatiquement par n'importe quel processus de type init.d ou systemd au redémarrage du système d'exploitation, quelle est la meilleure façon de redémarrer un ou plusieurs conteneurs Docker? Par exemple, je pourrais avoir un certain nombre de serveurs Web derrière un proxy inverse ou un serveur de base de données.
CoreOS utilise systemd pour gérer les services de longue durée:
si vous démarrez le démon avec docker -d -r
, il redémarrera tous les conteneurs en cours d'exécution avant l'arrêt du démon. Cela deviendra le comportement par défaut dans la prochaine version.
Ce qui a fonctionné pour moi, c'est d'ajouter --restart='always'
à la commande container {run -d ...}
La seule documentation que j'ai vue est documents d'intégration de l'hôte de Docker qui sont un peu légers sur les détails, etc.
Fondamentalement, il suggère de démarrer le démon avec -r=false
et en utilisant systemd (ou upstart si vous utilisez autre chose que CoreOS).