Apparemment, la méthode actuelle de démarrage automatique des conteneurs Docker ( de Docker 1.2 ) est d'utiliser politiques de redémarrage . Cela contrôlera la façon dont Docker doit gérer le démarrage du conteneur au démarrage et le redémarrage du conteneur lorsqu'il quitte le système. J'ai utilisé l'option 'always' jusqu'à présent, et je peux confirmer qu'elle permet à Docker de démarrer automatiquement le conteneur au démarrage du système :
sudo docker run --restart=always -d myimage
Extrait de la documentation
Politiques de redémarrage En utilisant le drapeau --restart sur l'exécution de Docker, vous pouvez spécifier une politique de redémarrage pour la façon dont un conteneur doit ou non être redémarrer à la sortie.
no - Ne pas redémarrer le conteneur lorsqu'il sort.
on-failure - Redémarrer le conteneur uniquement s'il sort avec un statut de non nul.
always - Redémarre toujours le conteneur, quel que soit le statut de sortie.
Vous pouvez également spécifier le nombre maximum de fois que Docker essaiera de redémarrer le conteneur lors de l'utilisation de la politique on-failure. La valeur par défaut est Docker essaiera toujours de redémarrer le conteneur.
$ sudo docker run --restart=always redis
Cela va exécuter le redis avec une politique de redémarrage de toujours, de sorte que si le conteneur sort, Docker le redémarre.
$ sudo docker run --restart=on-failure:10 redis
Ceci lancera le programme redis avec une politique de redémarrage en cas de défaillance et un nombre de maximum de 10 redémarrages. Si le conteneur redis sort avec un statut de sortie non nul non nul plus de 10 fois de suite, Docker abandonnera la tentative de redémarrage du conteneur le conteneur. Fournir une limite maximale de redémarrage n'est valable que pour l'option politique en cas de défaillance.