请解释以下输出:
docker ps ExanpleContainter
Ports
--------
10.10.10.10:443->443/tcp, 0.0.0.0:1937->1937/tcp
并且,docker检查ExanpleContainter
"Ports": {
"1937/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "1937"
}
],
"443/tcp": [
{
"HostIp": "10.10.10.10",
"HostPort": "443"
}
]
}
我想了解映射是如何完成的以及哪个端口映射到哪里?
答案 0 :(得分:12)
10.10.10.10:443->443/tcp
这意味着端口443上的docker host IP 10.10.10.10映射到端口443上的指定容器。到达该ip端口组合的数据包可以在同一端口的容器中访问(443)
0.0.0.0:1937->1937/tcp
在端口1937上的docker主机上到达所有可用IP地址(0.0.0.0)的数据包可在同一端口上的指定容器上访问(1937)
阅读答案中的说明并将其与docker inspect ExanpleContainter
的输出进行比较。
答案 1 :(得分:1)
以上答案是正确的,我试图解释另一种帮助我理解端口映射的方法。
docker ps ExanpleContainter
端口
10.10.10.10:443-> 443 / tcp,0.0.0.0:1937-> 1937 / tcp
这里,您的容器ExanpleContainer暴露了两个端口。
以以下格式输出
[IP_ADDR]:{PORT_OUTSIDE_CONTAINER} -> {PORT_INSIDE_CONTAINER} / {PROTOCOL}
现在,在创建容器时,如果您不指定要映射的内部端口,它将映射随机端口,但是在您的情况下,两个(主机和公开)端口都被映射为相同。