Explique el siguiente resultado:
docker ps ExanpleContainter Ports -------- 10.10.10.10:443->443/tcp, 0.0.0.0:1937->1937/tcpY, docker inspeccionar ExanpleContainter
"Ports": { "1937/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "1937" } ], "443/tcp": [ { "HostIp": "10.10.10.10", "HostPort": "443" } ] }Me gustaría entender cómo se realiza el mapeo y qué puerto se asigna y dónde.
10.10.10.10:443->443/tcp
Esto significa que la IP del host docker 10.10.10.10 en el puerto 443 se asigna al contenedor especificado en el puerto 443. Se podrá acceder a los paquetes que lleguen a esa combinación de puertos IP en el contenedor en el mismo puerto (443).
0.0.0.0:1937->1937/tcp
Los paquetes que llegan a todas las direcciones IP disponibles (0.0.0.0) en el host docker en el puerto 1937 son accesibles en el contenedor especificado en el mismo puerto (1937)
Lea la explicación en la respuesta y compárela con la salida de docker inspect ExanpleContainter .
La respuesta anterior es correcta. Estoy tratando de explicar otra forma que me ayudó a comprender las asignaciones de puertos.
docker ps Ejemplo de contenedor
Puertos
10.10.10.10:443->443/tcp, 0.0.0.0:1937->1937/tcp
Aquí su contenedor ExanpleContainer está exponiendo dos puertos.
Salida en el siguiente formato,
[DIRECCIÓN_IP]:{PUERTO_EXTERIOR_CONTENEDOR} -> {PUERTO_INTERIOR_CONTENEDOR} / {PROTOCOLO}
Ahora, al crear un contenedor, si no especifica qué puertos internos asignar, asignará puertos aleatorios, pero en su caso, ambos puertos (host y expuestos) se asignan de la misma manera.