J'ai une installation vanilla de CoreOS (835.9.0) et il ne démarre pas le démon docker au démarrage. Il ne démarre que lorsque je SSH et fais par exemple docker ps
.
Comment puis-je faire démarrer automatiquement le démon docker au démarrage du système?
Quand je dis le démon docker, je veux dire ps -ef | grep docker
ne montre aucun processus jusqu'à ce que je le fassedocker ps
C'est un peu vieux maintenant, mais j'ai commencé à utiliser cloud-init pour le faire sur tous les nouveaux serveurs. J'ai un script cloud-init enregistré que j'utilise pour tous mes serveurs. Une partie contient:
Cela activera le service docker et le démarrera au premier et à chaque démarrage.
la source
Comme déjà expliqué dans ce commentaire par Rob , le docker est activé par socket. Cela signifie que le démon ne démarre que s'il est appelé. Les réponses existantes fonctionnent ici, mais CoreOS recommande une approche différente.
La façon recommandée de le faire, selon la documentation CoreOS, est de créer un service pour votre propre application qui à son tour nécessite le service Docker:
/etc/systemd/system/myapp.service:
Et que ce service démarre automatiquement à la place:
L'exemple d'utilisation consiste à mettre à jour le conteneur vers la dernière version une fois le service démarré et l'exemple avancé enregistre également le service dans etcd. Lisez la documentation CoreOS pour plus d'informations de fond.
la source
J'utilise Docker Swarm, donc je n'ai pas d'application spécifique pour que systemd soit responsable ... J'ai juste besoin de docker pour démarrer au démarrage. C'est la solution que j'ai trouvée.
Mettez ceci
/etc/systemd/system/poke-docker.service
:Et puis il suffit
systemctl enable poke-docker
de le configurer pour qu'il se déclenche à chaque démarrage, vers la fin de la séquence de démarrage. Ladocker version
commande parle au démon docker, déclenchant le socket et démarrant le service docker lui-même.J'ai essayé l'
systemctl enable docker
astuce dans l'autre réponse, et même si cela a fonctionné au début, cela semble avoir provoqué une situation de troupeau tonitruante où docker essayait apparemment de faire beaucoup et échouait misérablement. Je soupçonne que c'est le comportement de "blocage de la chaîne de démarrage" mentionné dans les commentaires.la source