docker swarm模式下,容器内部无法访问,同一个stack下,其它容器暴露在宿主机上的端口

问题描述:stack模式下,容器内部无法通过主机IP访问stack中其它容器暴露在宿主机的上端口。但可以访问宿主机上的其它普通端口。

步骤如下:

采用stack方式部署服务(rabbitmq+其它服务)

docker stack deploy -c docker-stack.yml test

其中rabbitmq服务设置如下:

clipboard.png

部署后端口使用情况:

clipboard.png

宿主机可连接rabbitmq 5672端口(宿主机ip:192.168.37.131)

clipboard.png

在容器内部无法通过宿主机IP访问rabbitmq端口(可ping通宿主机)

clipboard.png

在容器内部可以访问宿主机其它端口(非docker映射端口)

clipboard.png

阅读 8.1k
3 个回答

networker 改成 host 试一下

虚拟中的环境太坑了,不该出现的问题。重启docker服务,解决。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进