docker添加hosts之后无法启动

Avatar photo

修改 /etc/docker/daemon.json

{
"hosts":["tcp://0.0.0.0:2375",
"unix:///var/run/docker.sock"
],
"registry-mirrors":[
"https://hub-mirror.c.163.com",
"https://registry.aliyuncs.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn"]
}

添加了高亮部分代码
执行systemctl daemon-reload正常
执行systemctl restart docker.service报错

执行docker ps -a 提示没有启动docker守护进程

按照 docker修改daemon.json hosts报错 – 代码先锋网 (codeleading.com) 操作
修改了 /usr/lib/systemd/system/docker.service 文件

...
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always

...

重新导入daemon-reload 再重启 docker服务,解决问题。
修改的代码是什么内容 待查!

=============查看修改的代码后发现================
containerd是管理容器的进程,不要删除
原先的daeon.json也不用修改,
只需要在里面再添加两条-H的参数就可以了

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock

之后的操作都一样。

参考:
docker基本组件介绍  Docker 组件基本介绍_–containerd=/run/containerd/containerd.sock-CSDN博客
deamon.json配置详解  docker容器daemon.json配置文件详解_docker daemon.json-CSDN博客
DockerAPI  docker api 基本介绍和使用-CSDN博客