Pages : 1
#1 Le 18/11/2019, à 11:50
- lolo19430
Ubuntu 18.04 Docker et lancement auto
Bonjour à tous ,
J'ai un serveur ubuntu 18.04 sur lequel j'ai des docker qui tournent.
Lors d'un redémarrage j'avais sur un ubuntu 16.04 , créé des service en auto.
Sur cette version Ubuntu 18.04, cela ne fonctionne plus , dans le cas d'un redémarrage !
Si je fais systemctl status test.service , j'ai un erreur [3064] : Error response from daemon: Cannot kill container : test: No such container: test
Dans test.service :
[Unit]
Description=test docker container
After=docker.service
Requires=docker.service
[Service]
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill test
ExecStartPre=-/usr/bin/docker rm test
ExecStartPre=/usr/bin/docker pull mondocker
ExecStart=/usr/bin/docker run .... toutes la commandes pour mon docker
[Install]
WantedBy=multi-user.target
Biensur j'ai activé mon service :
systemctl enable test.service
Merci de votre aide
Hors ligne
#2 Le 18/11/2019, à 14:27
- bruno
Re : Ubuntu 18.04 Docker et lancement auto
Bonjour,
Il faut expliquer la raison de ces lignes :
ExecStartPre=-/usr/bin/docker kill test
ExecStartPre=-/usr/bin/docker rm test
Je ne vois pas comment cela peut fonctionner. Après un redémarrage le conteneur test n'est probablement plus actif. Il te faut utiliser un script qui teste si le conteneur test est actif et l'arrête le cas échéant (avec docker container stop test, plutôt que kill…). De même il faut tester si le conteneur test existe avant de le supprimer (docker container rm test).
#3 Le 18/11/2019, à 14:32
- lolo19430
Re : Ubuntu 18.04 Docker et lancement auto
Je me suis rendu compte que dans certain cas le ou les docker tournent encore après redémarrage.
Du coup je kill et je supprime systématiquement pour pas avoir de problème.
As tu un exemple de script pour tester ? Moi je veux démarrer mes docker en automatique après un reboot.
Hors ligne
#4 Le 18/11/2019, à 14:35
- lolo19430
Re : Ubuntu 18.04 Docker et lancement auto
J'ai trouvé ça sur le net ...
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
Hors ligne
#5 Le 18/11/2019, à 14:40
- bruno
Re : Ubuntu 18.04 Docker et lancement auto
Oui j'allais corriger ma première réponse en disant qu'il était plus simple d'arrêter et de supprimer le conteneur à l'arrêt. Avec effectivement quelque chose de cet ordre :
ExecStartPre=/usr/bin/docker pull test
ExecStart=/usr/bin/docker run .... toutes la commandes pour mon docker
ExecStop=/usr/bin/docker container stop test
ExecStopPost=/usr/bin/docker container rm test
#6 Le 18/11/2019, à 15:07
- lolo19430
Re : Ubuntu 18.04 Docker et lancement auto
Ok ca fonctionne, par contre est ce que l'on peut m'expliquer lors d'un systemctl status nom-du-service , je n'ai pas de pastille verte ? Alors que le docker test tourne ....
Hors ligne
#7 Le 18/11/2019, à 15:12
- bruno
Re : Ubuntu 18.04 Docker et lancement auto
Aucune idée… Il faudrait voir le retour complet de la commande systemctl status
Pages : 1