docker/Docker如何查看宿主机到容器端口映射关系
背景
前些天的时候, 在定位问题时发现docker emqx 连接websocket (8083)端口出现异常....方式一(docker ps)
我们不妨回顾下, docker 如何建立端口的映射:
在建立端口映射时, 我们通常会采用docker run 容器id的方式去运行容器并添加容器到宿主机的映射....因此一开始的:8083-8084/tcp代表放开docker容器内部8083,8084端口, 但无法通过宿主机访问到这两个端口,
因为他们之间没有建立端口映射, 下面列举了在docker ps下, 几种端口映射的介绍...端口映射情况如在 NetworkSettings.Ports属性下
可以明显地看到, 在已建立端口映射的属性下会有 HostIp和HostPort 两个子属性; 在没有建立映射情况下, 子属性为null...| grep IPAddress
图片
配置iptables
# 这里需要注意所有ip和端口的配置(黄色字体)
# 配置docker防火墙开放宿主机端口(这里开放8083)
sudo iptables