How to stop docker under Linux
Sebastian Wright
My version of OS Ubuntu 16.04.
I want to stop docker, so I run in the terminal:
sudo systemctl stop dockerBut this commands doesn't help me:
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 8400Version of docker server is:
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: falseI also unsuccessfully tried:
sudo service docker stop 5 Answers
The output of ps aux looks like you did not start docker through systemd/systemctl.
It looks like you started it with:
sudo dockerd -H gridsim1103:2376When you try to stop it with systemctl, nothing should happen as the resulting dockerd process is not controlled by systemd. So the behavior you see is expected.
The correct way to start docker is to use systemd/systemctl:
systemctl enable docker
systemctl start dockerAfter this, docker should start on system start.
EDIT: As you already have the docker process running, simply kill it by pressing CTRL+C on the terminal you started it. Or send a kill signal to the process.
First I stop the docker by the following command:
sudo systemctl stop dockerThen I get the message :Warning: Stopping docker.service, but it can still be activated by: docker.socket.
So, I stop the socket as well :
sudo systemctl stop docker.socketNote: you can start and stop only the docker.socket when it triggers by it.
In my case, it was neither systemd nor a cron job, but it was snap. So I had to run:
sudo snap stop docker
sudo snap remove docker... and the last command actually never ended, I don't know why: this snap thing is really a pain. So I also ran:
sudo apt purge snap:-)
3if you have no systemctl and started the docker daemon by:
sudo service docker startyou can stop it by:
sudo service docker stop 1 stop docker:
docker stop docker_idex:
docker stop 1fec077018w4remove docker:
docker rm docker_idex:
docker rm 1fec077018w4do not to stop:
docker-compose kill -s SIGINTdocker restart:
docker-compose restart