环境
我的开发机器是使用Hyper-V托管的VM,操作系统是Windows 8.1。 Hyper-V在我的本地机器上运行,操作系统是Windows 10.在同一台主机上是RabbitMQ在docker容器中运行,为了让RabbitMQ运行,我使用了以下命令:docker run -d -e RABBITMQ_NODENAME=bmorabbit --name rabbitmq -p 15672:15672 micdenny/rabbitmq-windows
我正在使用Windows容器进行docker 。
docker版本的输出是:
Client:
Version: 17.06.0-ce
API version: 1.30
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:30:30 2017
OS/Arch: windows/amd64
Server:
Version: 17.06.0-ce
API version: 1.30 (minimum version 1.24)
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 22:19:00 2017
OS/Arch: windows/amd64
Experimental: true
我没有做任何额外的网络配置。
问题
我可以使用容器ip地址从我的Windows10机器访问RabbitMQ。为了得到这个地址,我使用了`docker inspect rabbitmq`。当我尝试从Windows8机器内部访问相同的RabbitMQ时,我将收到超时错误。我是否需要进行一些额外的设置才能在Windows容器下运行?
我尝试了什么
答案 0 :(得分:0)
您可以将容器内服务正在侦听的端口公开给主机。
例如,如果您在端口80上的容器内运行apache httpd,并且同一网络中的其他人想要访问它,您应该执行以下操作。
docker run -d -p 80:80 apache
参阅文章here
您也可以参考stackoverflow question从主机连接到容器。