【问题标题】:Connecting Docker Windows WSL Ubuntu to VMware Ubuntu将 Docker Windows WSL Ubuntu 连接到 VMware Ubuntu
【发布时间】:2018-09-02 08:45:26
【问题描述】:
我正在尝试连接我的 Windows 10 Home 系统,以便能够运行完整的 Linux OS Docker 容器。我已经在 WSL Ubuntu 18.04 和 VMware Ubuntu 18.04 上安装了 Docker。
我试图关注this guide。
但是,我在尝试按照说明配置守护程序时遇到了困难。
不能在 Windows 上使用 Docker?
仅当您没有运行 Docker for Windows 时才需要这样做!
没问题,只需将 Docker 守护进程配置为使用 -H tcp://0.0.0.0:2375 and --tlsverify=false。然后,您可以完全按照本指南的其余部分进行操作。
如果您走这条路,我强烈建议您使用 VMware Player 滚动您自己的虚拟机,而不是使用 Docker 工具箱,因为 VirtualBox 存在疯狂的边缘案例共享文件夹错误,这些错误会在某些时候毁掉您的生活。不用担心,VMware Player 是免费的。只需 Google 如何在 VMware Player 上设置 Ubuntu 16 服务器。
当我尝试通过创建 daemon.json 文件来更改 Docker 守护程序时,我得到了错误。我还尝试按照other guides (another guide) 编辑.profile 文件和.bashrc,但没有成功。
我无法检查 VM Ubuntu 上的 DOCKER_HOST 变量。
【问题讨论】:
标签:
windows
docker
ubuntu
windows-subsystem-for-linux
【解决方案1】:
不要让事情变得复杂。在您的情况下,如果您只想连接到远程守护程序,为什么要使用 WSL?为什么不直接使用 windows docker 客户端呢?
- 使用 docker 设置您最喜欢的本地虚拟机。
示例:我安装了在本地 VMWare 工作站上运行的 CentOS 发行版。当然,所有 Hyper-V 都已卸载/停用。
-
在此 VM 中,为守护程序启用 tcp 访问。
如果你有一个 systemd linux 发行版(比如我的 CentOS),执行这个:
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo echo '[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375' >> /etc/systemd/system/docker.service.d/options.conf
sudo systemctl daemon-reload
sudo systemctl restart docker`
使用docker info 测试端口是否打开。您应该会在底部结果中看到 API 访问警告。
- 从这里下载 Windows docker cli zip:https://download.docker.com/win/static/stable/x86_64/
将 docker.exe 移动到任何文件夹,例如。您的文档文件夹。
然后将此文件夹路径放入您的 Windows PATH 变量中。
- 设置docker主机:打开PowerShell,执行
setx DOCKER_HOST <VM-IP>:2375并关闭。
- 打开一个新的 PowerShell 并调用
docker info。
您应该会看到 docker 和 daemon 信息。
现在就做你喜欢的事... :-)