我们在使用系统服务管理命令systemctl停止docker的时候出现无法停止的问题,具体问题现象如下:
systemctl stop docker
Stopping 'docker.service', but its triggering units are still active:
docker.socket
这意味着即使 Docker 服务已停止,如果应用程序尝试连接到 docker.socket,系统将自动启动 Docker 服务。
针对这种问题,可以使用下面的方法进行除了。
停止docker的套接字
sudo systemctl stop docker.socket
如果完全不想启动docker也不想再次被访问docker的套接字激活docker服务的话,可以使用下面这种方式彻底停止。
首先删除docker的通信套接字文件
sudo rm /lib/systemd/system/docker.socket
从 docker.service 文件中删除 -H fd:// 参数,以防止通过套接字激活。
我们先看下docker服务的配置,然后使用sed命令进行替换,首先做好备份
cat /lib/systemd/system/docker.service | grep -iE -v '^(#|$)' >/tmp/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target nss-lookup.target docker.socket firewalld.service containerd.service time-set.target
Wants=network-online.target containerd.service
Requires=docker.socket
StartLimitBurst=3
StartLimitIntervalSec=60
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
然后使用如下命令进行替换
sudo sed -i '/-H fd:\/\//d' /lib/systemd/system/docker.service
这样docker服务再就不会被自动激活了。
如果需要恢复使用备份进行恢复即可
cat /tmp/docker.service >/lib/systemd/system/docker.service
systemctl start docker.service
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/1098
相关推荐
- 容器云中部署TigerVNC以及使用和常见问题处理方式
- ubuntu22.04离线安装docker
- ubuntu22.04安装指定版本docker
- centos下k8s集群docker切换containerd
- k8s磁盘容量限制的方法
- Docker查看镜像构造和层次
- Docker清理数据和目录结构介绍
- linux下nerdctl的安装和常用命令
- ubuntu20.04安装nvidia-container-runtime
- docker日志告警Your kernel does not support swap limit capabilities or the cgroup is not mounted
评论列表