docker/Docker如何查看宿主机到容器端口映射关系
背景
前些天的时候, 在定位问题时发现docker emqx 连接websocket (8083)端口出现异常....方式一(docker ps)
我们不妨回顾下, docker 如何建立端口的映射:
在建立端口映射时, 我们通常会采用docker run 容器id的方式去运行容器并添加容器到宿主机的映射....指定端口的映射时宿主机端口到运行容器端口的映射
因此我们在运行docker ps中, 查看的结果就是按照宿主机端口->运行容器端口显示的
图片
从上图可以看出, 宿主机的 3307端口绑定到了docker...因此一开始的:8083-8084/tcp代表放开docker容器内部8083,8084端口, 但无法通过宿主机访问到这两个端口,
因为他们之间没有建立端口映射, 下面列举了在docker ps下, 几种端口映射的介绍...0.0.0.0:3307->3306/tcp # 当前宿主机网络的的3307端口绑定了docker容器的3306端口
:::3307->3306/tcp # ::等价于“0:0:0:0:0:0