如何在 Linux 下停止 docker

我的版本的操作系统 Ubuntu 16.04。 我想阻止 Docker 所以我跑进了终点站:

sudo systemctl stop docker

但这个命令帮不了我:

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

docker服务器的版本如下:

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

我也曾尝试过,但没有成功:

 sudo service docker stop
322787 次浏览

ps aux的输出看起来没有通过 systemd/systemctl 启动 docker。

看起来你是这么开始的:

sudo dockerd -H gridsim1103:2376

当您尝试使用 systemctl 停止它时,不会发生任何事情,因为所得到的 docker 进程不受 systemd 控制。所以你看到的行为是预料之中的。

启动 docker 的正确方法是使用 systemd/systemctl:

systemctl enable docker
systemctl start docker

此后,码头应启动系统启动。

编辑: 因为已经运行了 docker 进程,所以只需在启动的终端上按 CTRL + C 即可终止该进程。或者向进程发送终止信号。

在我的案例中,它既不是系统化的,也不是一个 cron 作业,但它是快速的。 所以我不得不逃跑:

sudo snap stop docker
sudo snap remove docker

最后一个命令从来没有结束过,我不知道为什么,这个按钮真的很痛苦。所以我也跑了:

sudo apt purge snap

:-)

如果有 < strong > no system ctl 并通过以下方式启动 docker 守护进程:

sudo service docker start

你可以通过:

sudo service docker stop

首先,我通过以下命令停止码头:

sudo systemctl stop docker

然后我得到的消息: Warning: Stopping docker.service, but it can still be activated by: docker.socket。 因此,我也停止了插座:

sudo systemctl stop docker.socket

注意: 当 docker.socket触发时,只能启动和停止 docker.socket

停泊码头:

docker stop docker_id

例如:

docker stop 1fec077018w4

卸码头:

docker rm docker_id

例如:

docker rm 1fec077018w4

不要停止:

docker-compose kill -s SIGINT

码头重启:

docker-compose restart