我有在OS X(VirtualBox驱动程序)上运行的最新Docker Toolbox RC。
Docker主机的IP为:
$ docker-machine ip 192.168.99.100
我正在运行这样的容器:
$ docker run -ti -p 4505:4505 my_image /bin/bash [root@blah /]#
我试图检查我是否可以从网络上运行Windows 10的另一台完全不同的计算机上访问此端口:
$ nmap -p 4505 192.168.99.100 Starting Nmap 7.01 ( https://nmap.org ) at 2016-02-04 17:18 W. Europe Standard Time Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn Nmap done: 1 IP address (0 hosts up) scanned in 0.74 seconds
如何使容器和网络上的其他计算机互相看到?
编辑: 下面接受的答案可以通过物理机的IP地址访问指定端口上的容器。也就是说,您不能通过访问容器192.168.99.100:4505。而是可以通过计算机的进行访问<IP>:4505。
192.168.99.100:4505
<IP>:4505
如果您将VirtualBox驱动程序与docker-machine一起使用以在Mac上运行Docker VM,则可以将端口从Mac转发到VM,如下所示:
VBoxManage controlvm myvirtualmachine natpf1 'myapp,tcp,,4505,,4505'
让我们分解一下:
docker-machine ls
您可以在https://www.virtualbox.org/manual/ch08.html#vboxmanage- controlvm上找到此命令的官方文档。