在WSL2中构建Docker镜像遇连接失败,如何指定Docker主机IP?
解决WSL2中Docker Build无法连接守护进程的问题
临时解决方法
直接在docker build命令前添加-H参数指定Docker主机IP,和你执行docker run时的用法一致:
docker -H 172.20.5.64 build .
如果守护进程使用了非默认端口(比如带TLS的2376),需要补充端口信息:
docker -H tcp://172.20.5.64:2376 build .
永久配置(无需每次输入参数)
方法1:设置环境变量
编辑你的shell配置文件(比如~/.bashrc、~/.zshrc,取决于你使用的shell),添加以下内容:
export DOCKER_HOST=tcp://172.20.5.64:2375
保存后执行以下命令让配置立即生效:
source ~/.bashrc
之后所有Docker命令(包括build、run等)都会自动使用这个主机地址。
方法2:修改Docker客户端配置文件
在用户目录下的.docker文件夹中创建或编辑config.json文件,添加:
{ "hosts": ["tcp://172.20.5.64:2375"] }
注意:不要同时设置DOCKER_HOST环境变量,否则会导致配置冲突。
额外验证
确保你的Docker守护进程确实在指定的IP和端口上监听,可以用以下命令验证:
nc -zv 172.20.5.64 2375
内容的提问来源于stack exchange,提问作者Andreas Ziegler
相关产品推荐
相关产品推荐

