我正在使用Docker for Windows(我没有使用使用VM的Docker Toolbox)但我无法从本地网络上的其他计算机上看到我的容器。在我的主机中,一切都很完美,运行良好,但是,我希望其他人使用我的容器。
尽管发布了same question in Docker's Forum,答案却没有显示出来。另外,我一直在这里寻找,但解决方案发现它是关于在虚拟机中设置桥接选项,正如我之前所说,我使用Docker for windows,没有使用虚拟机。
Docker版本命令
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: windows/amd64
Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: linux/amd64
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
789d7bf48025 gogs/gogs "docker/start.sh /bin" 5 days ago Up 42 minutes 0.0.0.0:10022->22/tcp, 0.0.0.0:5656->3000/tcp gogs
7fa7978996b8 mysql:5.7.14 "docker-entrypoint.sh" 5 days ago Up 56 minutes 0.0.0.0:8989->3306/tcp mysql
我想要使用的容器是在端口5656中工作的gog。
当我使用localhost:5656和127.0.0.1:5656正常工作时,但当我从其他机器使用我的本地网络IP(192.168.0.127)时,容器无法访问。
提前致谢。
答案 0 :(得分:6)
解决方案:
当我安装Docker for Windows时,它会创建一个名为 vEthernet(DockerNAT)的网络(通常使用ip 10.0.75.1)
我的本地计算机有一个名为本地连接的网络,其中包含ip 192.168.0.172(我试图从其他PC上访问此IP)。
到目前为止,我的本地计算机有两个网络连接,所以我去了控制面板> 网络和共享中心> 更改适配器设置我选择了两个网络,然后右键单击选中的添加到网桥。这创建了一个名为以太网的第三个网络。
此时,我不知道以太网网络的IP是什么,所以我执行ipconfig命令向我显示ip 192.168.0.17(本地连接的设置和 vEthernet(DockerNAT)消失,ips 10.0.75.1和192.168.0.172停止工作)。
使用这个新的ip(192.168.0.17)我尝试从网络中的其他机器,最后我可以访问容器(192.168.0.17:5656)。
答案 1 :(得分:1)
在Hyper-V设置中,放置" Docker NAT"网络在"外部"模式对我有用。 (我可以使用我的主机的IP访问我本地网络上的容器)
答案 2 :(得分:-1)
使用此命令计算您的泊坞主机:
echo $DOCKER_HOST
它可能类似于tcp://192.168.99.100/2376
,因此您的gogs容器的网址为http://192.168.99.100:5656