【问题标题】:How to stop docker under LinuxLinux下如何停止docker
【发布时间】:2017-07-10 23:00:21
【问题描述】:

我的操作系统版本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

【问题讨论】:

    标签: docker daemon


    【解决方案1】:

    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 即可将其终止。或者向进程发送终止信号。

    【讨论】:

      【解决方案2】:

      在我的情况下,它既不是 systemd 也不是 cron 作业,但它很迅速。 所以我不得不跑:

      sudo snap stop docker
      sudo snap remove docker
      

      ...最后一个命令居然没有结束,我不知道为什么:这个snap的东西真的很痛苦。于是我也跑了:

      sudo apt purge snap
      

      :-)

      【讨论】:

      • 这非常有用,我的 dokerd 进程占用了 200% 的 CPU,但现在它更安静了。谢谢!
      • 您可以使用sudo snap disable docker,这样下次启动时 docker 将不会启动。在这种情况下,你使用 docker 你需要运行 sudo snap start docker
      • 最后一条命令适用于有硬盘的机器,哈哈
      【解决方案3】:

      首先我通过以下命令停止 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被它触发时启动和停止它。

      【讨论】:

      • 这有帮助。谢谢!
      【解决方案4】:

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

      sudo service docker start
      

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

      sudo service docker stop
      

      【讨论】:

      • 运行停止命令后我得到了这个:Warning: Stopping docker.service, but it can still be activated by: docker.socket
      【解决方案5】:

      停止泊坞窗:

      docker stop docker_id
      

      例如:

      docker stop 1fec077018w4
      

      删除泊坞窗:

      docker rm docker_id
      

      例如:

      docker rm 1fec077018w4
      

      不要停下来:

      docker-compose kill -s SIGINT
      

      码头重启:

      docker-compose restart
      

      【讨论】:

        猜你喜欢
        • 2016-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-27
        • 2021-02-24
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        相关资源
        最近更新 更多