linux怎么查看本机内存大小
340
2022-10-25
无法正常停止docker进程
现象
通过systemctl status docker命令查看Docker运行状态,发现一切正常,内容如下:
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-06-25 09:35:06 CST; 2min 33s ago
Docs: https://docs.docker.com
Main PID: 30410 (dockerd)
Tasks: 52
Memory: 71.3M
CGroup: /system.slice/docker.service
└─30410 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jun 25 09:35:05 localhost.localdomain dockerd[30410]: time="2021-06-25T09:35:05.946196345+08:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock
当我想去停止Docker服务时,执行systemctl stop docker多次,结果如下:
Warning: Stopping docker.service, but it can still be activated by: docker.socket
使用journalctl -xe对 docker 进程进行跟踪排查,并没有发现有用信息。
故障分析
Docker 有两个服务进程文件,可以通过cd /lib/systemd/system/ && ll|grep docker查看,分别是docker.service unit file 和 docker.socket unit file,上面的警告意味着如果你试图停止docker服务,但docker.socket unit file还处于激活状态。
解决方法
停止 docker socket
# 停止 docker 服务 sudo systemctl stop docker.socket sudo systemctl stop docker.service
# 启动 docker 服务 sudo systemctl daemon-reload sudo systemctl restart docker.service
删除 docker socket 文件
如果上面”温和“方法并没有解决你的问题,我们可以采用下面”暴力“方法。
# 删除 docker socket 文件 cd /lib/systemd/system/ && rm -rf docker.socket # 查看 docker 状态,已dead sudo systemctl status docker.service # 重新创建 docker.socket cd /lib/systemd/system/ vim docker.socket # 添加如下内容 [Unit] Description=Docker Socket for the API PartOf=docker.service [Socket] ListenStream=/var/run/docker.sock SocketMode=0660 SocketUser=root SocketGroup=docker [Install] WantedBy=sockets.target
# 重启 docker sudo systemctl daemon-reload sudo systemctl restart docker.service
此时,再进行 docker 相关操作,比如:停止、启动、重启,均可正常执行。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~