181 votes

Comment arrêter Docker sous Linux

Ma version de l'OS Ubuntu 16.04 . Je veux arrêter docker, donc je lance dans le terminal :

sudo systemctl stop docker

Mais ces commandes ne m'aident pas :

gridsim1103 ~: ps ax | grep docker 
11347 ?        Sl     0:00 containerd-shim 487e3784f983274131d37bde1641db657e76e41bdd056f43ef4ad5adc1bfc518 /var/run/docker/libcontainerd/487e3784f983274131d37bde1641db657e76e41bdd056f43ef4ad5adc1bfc518 runc
14299 pts/2    S+     0:00 grep --color=auto docker
29914 ?        S      0:00 sudo dockerd -H gridsim1103:2376
29915 ?        Sl     4:45 dockerd -H gridsim1103:2376
29922 ?        Ssl    0:24 containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime runc
30107 ?        Sl     1:01 /usr/bin/docker-proxy -proto tcp -host-ip 188.184.80.77 -host-port 8500 -container-ip 192.17.0.2 -container-port 8500
30139 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip 188.184.80.77 -host-port 8400 -container-ip 192.17.0.2 -container-port 8400

Version de docker le serveur est :

Server:
 Version:      1.12.1
 API version:  1.24 (minimum version )
 Go version:   go1.6.2
 Git commit:   23cf638
 Built:        Tue, 27 Sep 2016 12:25:38 +1300
 OS/Arch:      linux/amd64
 Experimental: false

J'ai aussi essayé sans succès :

 sudo service docker stop

135voto

tuhin47 Points 730

D'abord j'arrête le docker par la commande suivante :

sudo systemctl stop docker

Puis je reçois le message : Warning: Stopping docker.service, but it can still be activated by: docker.socket . Donc, j'arrête aussi la prise :

sudo systemctl stop docker.socket

Remarque : vous ne pouvez démarrer et arrêter que le docker.socket quand il déclenche par elle.

124voto

Alexander Block Points 892

La sortie de ps aux il semble que vous n'ayez pas démarré docker via systemd/systemctl.

On dirait que tu as commencé avec :

sudo dockerd -H gridsim1103:2376

Lorsque vous essayez de l'arrêter avec systemctl, rien ne devrait se produire car le processus dockerd résultant n'est pas contrôlé par systemd. Le comportement que vous voyez est donc attendu.

La manière correcte de démarrer Docker est d'utiliser systemd/systemctl :

systemctl enable docker
systemctl start docker

Après cela, docker devrait démarrer au démarrage du système.

EDIT : Comme le processus docker est déjà en cours d'exécution, il suffit de le tuer en appuyant sur CTRL+C dans le terminal où vous l'avez lancé. Ou envoyez un signal kill au processus.

58voto

xtof54 Points 435

Dans mon cas, ce n'était ni systemd ni une tâche cron, mais c'était un coup sec. Donc j'ai dû l'exécuter :

sudo snap stop docker
sudo snap remove docker

... et la dernière commande ne s'est jamais terminée, je ne sais pas pourquoi : cette histoire de snap est vraiment pénible. Donc j'ai aussi lancé :

sudo apt purge snap

:-)

35voto

Jundl Points 1376

Si vous avez no systemctl et lancé le démon docker par :

sudo service docker start

vous pouvez l'arrêter en :

sudo service docker stop

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X