Docker无法连接守护进程:sock路径不一致是否为问题根源?
问题根源确认与解决方法
这确实是问题的根源。Docker客户端默认尝试连接unix:///var/run/docker.sock,但你的Docker守护进程实际监听的是/run/docker.sock,两者路径不匹配,导致客户端无法与守护进程建立连接,从而抛出该错误。
以下是几种可行的解决方法:
创建软链接映射路径
通过软链接让默认路径指向守护进程实际监听的套接字,一次性解决客户端默认连接问题:sudo ln -s /run/docker.sock /var/run/docker.sock临时指定客户端连接路径
运行容器时手动指定守护进程的套接字地址:docker run --rm -H unix:///run/docker.sock hello-world也可以通过环境变量临时修改客户端的默认连接地址:
export DOCKER_HOST="unix:///run/docker.sock"若需要永久生效,可将上述环境变量添加到
~/.bashrc或/etc/profile文件中,之后重新加载配置或重启终端。修改守护进程监听路径
编辑Docker守护进程的配置文件(通常为/etc/docker/daemon.json),添加或修改hosts配置项,让守护进程监听默认的/var/run/docker.sock:{ "hosts": ["unix:///var/run/docker.sock"] }注意:如果配置文件中已有
hosts项,请合并配置内容,不要直接覆盖。修改完成后重启Docker服务使配置生效:sudo systemctl restart docker
内容的提问来源于stack exchange,提问作者fatih
相关产品推荐
相关产品推荐

