我的操作系统版本Ubuntu 16.04
。
我想停止码头,所以我在终端运行:
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
答案 0 :(得分:38)
ps aux
的输出看起来好像没有通过systemd / systemctl启动docker。
看起来你是这样开始的:
sudo dockerd -H gridsim1103:2376
当您尝试使用systemctl停止它时,不会发生任何事情,因为生成的dockerd进程不受systemd控制。所以你看到的行为是预期的。
启动docker的正确方法是使用systemd / systemctl:
systemctl enable docker
systemctl start docker
在此之后,docker应该从系统启动开始。
编辑:由于您已经运行了docker进程,只需在启动它的终端上按CTRL + C即可终止它。或者向进程发送一个kill信号。
答案 1 :(得分:10)
就我而言,它既不是systemd也不是cron作业,但是很简单。 所以我不得不跑:
sudo snap stop docker
sudo snap remove docker
...并且最后一个命令实际上从未结束,我不知道为什么:这贴切的东西确实很痛苦。所以我也跑了:
sudo apt purge snap
:-)
答案 2 :(得分:8)
首先我通过以下命令停止 docker:
sudo systemctl stop docker
然后我收到消息:Warning: Stopping docker.service, but it can still be activated by: docker.socket
。
所以,我也停止了套接字:
sudo systemctl stop docker.socket
注意:您只能在 docker.socket
触发时启动和停止它。
答案 3 :(得分:3)
如果您没有 systemctl ,则通过以下方式启动docker守护程序:
sudo service docker start
您可以通过以下方式停止它:
sudo service docker stop