主机上运行的Docker访问端口
我正在使用boot2docker并运行docker容器。我希望docker容器能够与具有开放端口的主机对话。我试着点击主机盒,但它要通过virtualbox,所以这里似乎需要两个级别的桥接才能让端口通信。不知道如何做到这一点,甚至不知道这是否可能。事实上你是对的,有两个级别: 主机boot2docker虚拟机docker容器 因此,如果在运行容器时打开端口,则可以从boot2docker VM而不是主机访问该端口,除非进行端口转发 这里有两种解决方案:主机上运行的Docker访问端口,docker,boot2docker,Docker,Boot2docker,我正在使用boot2docker并运行docker容器。我希望docker容器能够与具有开放端口的主机对话。我试着点击主机盒,但它要通过virtualbox,所以这里似乎需要两个级别的桥接才能让端口通信。不知道如何做到这一点,甚至不知道这是否可能。事实上你是对的,有两个级别: 主机boot2docker虚拟机docker容器 因此,如果在运行容器时打开端口,则可以从boot2docker VM而不是主机访问该端口,除非进行端口转发 这里有两种解决方案: 使用boot2docker VM的ip而
- 使用boot2docker VM的ip而不是本地主机进行访问
运行
,您将看到一个ip地址,如boot2dockerip
,然后您可以通过192.168.59.103
192.168.59.103:port
- 进行端口转发
打开您的VirtualBox应用程序,选择虚拟机即
,转到boot2docker-vm
设置
->
网络
->
->高级
。然后,您可以添加自己的转发端口,例如,我想通过端口转发
访问我的ssh端口,只需添加一个带有host port10022和guest port22的新列即可。 你可以查看更多信息localhost:10022
主机
,如docker run——添加主机vmhost:192.168.59.3
,请注意192.168.59.3
是默认的virtualbox纯主机适配器ip。然后,您可以根据需要访问vmhost
此外,您可以管理自己的网桥来实现这一点,这可能会对您有所帮助。@Freezenet,反过来呢?主机的端口9160已打开,我希望docker容器能够访问该端口。这一切似乎都指向访问已打开docker端口的主机,而不是相反?