在Windows主机的Ubuntu容器中访问宿主Docker守护进程的方法
在Windows Docker Desktop中让Ubuntu容器访问主机Docker守护进程的方法
当然有类似方法,核心思路和Linux一致——挂载Docker守护进程的Unix套接字(或Windows命名管道)到容器内,再在容器中安装Docker CLI工具即可实现需求。针对你的Docker Desktop 4.12.0版本,分两种常见后端场景说明:
1. WSL2后端(默认推荐)
Docker Desktop 4.x默认使用WSL2后端,此时主机的Docker守护进程会在WSL2环境中暴露/var/run/docker.sock套接字,直接挂载该路径即可:
启动容器命令
docker run -it -v /var/run/docker.sock:/var/run/docker.sock ubuntu:latest
在容器内安装Docker CLI
进入容器后执行以下命令安装Docker客户端:
apt update && apt install -y docker.io
执行docker ps,即可看到主机Docker守护进程中运行的容器列表。
2. Hyper-V后端(旧版场景)
若你仍使用Hyper-V后端,需要挂载Windows的Docker命名管道到容器内的套接字路径:
启动容器命令
docker run -it -v //./pipe/docker_engine:/var/run/docker.sock ubuntu:latest
同样在容器内安装Docker CLI后,即可正常使用docker命令访问主机守护进程。
注意事项
- 容器内默认以root用户运行,无需额外权限配置;若使用普通用户,需执行
usermod -aG docker $USER并重新登录,以获取Docker命令执行权限。 - 确保Docker Desktop的"WSL集成"功能已开启(针对WSL2后端),可在Docker Desktop设置的
Resources > WSL Integration中确认。
内容的提问来源于stack exchange,提问作者dow
相关产品推荐
相关产品推荐

