如何停止码头工人

Ken*_*tov 47 daemon docker

我的操作系统版本Ubuntu 16.04.我想停止码头,所以我在终端运行:

sudo systemctl stop docker
Run Code Online (Sandbox Code Playgroud)

但是这个命令对我没有帮助:

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

我也没试过:

 sudo service docker stop
Run Code Online (Sandbox Code Playgroud)

Ale*_*ock 45

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

看起来你开始使用:

sudo dockerd -H gridsim1103:2376
Run Code Online (Sandbox Code Playgroud)

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

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

systemctl enable docker
systemctl start docker
Run Code Online (Sandbox Code Playgroud)

在此之后,docker应该在系统启动时启动.

编辑:由于您已经运行了docker进程,只需在启动它的终端上按CTRL + C即可将其终止.或者向进程发送一个kill信号.


tuh*_*n47 13

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

sudo systemctl stop docker
Run Code Online (Sandbox Code Playgroud)

然后我收到消息:Warning: Stopping docker.service, but it can still be activated by: docker.socket。所以,我也停止了套接字:

sudo systemctl stop docker.socket
Run Code Online (Sandbox Code Playgroud)

注意:您只能docker.socket在它触发时启动和停止。


Jun*_*ndl 12

如果您没有 systemctl并通过以下方式启动 docker 守护进程:

sudo service docker start
Run Code Online (Sandbox Code Playgroud)

你可以通过以下方式阻止它:

sudo service docker stop
Run Code Online (Sandbox Code Playgroud)

  • 运行 stop 命令后,我收到以下消息:“警告:正在停止 docker.service,但仍可以通过以下方式激活它:docker.socket” (11认同)

xto*_*f54 9

就我而言,这既不是系统化的任务,也不是cron的工作,但这很简单。所以我不得不跑:

sudo snap stop docker
sudo snap remove docker
Run Code Online (Sandbox Code Playgroud)

...而最后一条命令实际上从未结束,我不知道为什么:这急事真的很痛苦。所以我也跑了:

sudo apt purge snap
Run Code Online (Sandbox Code Playgroud)

:-)

  • 这非常有用,我的 dokerd 进程占用了 200% CPU,但现在更安静了。谢谢! (2认同)