tag run library imagenes hub example compose docker docker-networking

run - docker-compose



¿Cómo puedo exponer más de 1 puerto con Docker? (3)

Así que tengo 3 puertos que deberían estar expuestos a la interfaz de la máquina. ¿Es posible hacer esto con un contenedor Docker?


Paso 1

En su Dockerfile , puede usar el verbo EXPOSE para exponer múltiples puertos.
p.ej

EXPOSE 3000 80 443 22

Paso 2

A continuación, le gustaría crear una nueva imagen basada en el Dockerfile anterior.
p.ej

docker build -t foo:tag .

Paso 3

Luego, puede usar la -p para asignar el puerto del host con el puerto de contenedor, tal como se definió anteriormente en EXPOSE of Dockerfile .
p.ej

docker run -p 3001:3000 -p 23:22

En caso de que desee exponer un rango de puertos continuos, puede ejecutar la ventana acoplable de esta manera:

docker run -it -p 7100-7120:7100-7120/tcp


Para exponer un solo puerto, esto es lo que necesita hacer:

docker run -p <host_port>:<container_port>

Para exponer múltiples puertos, simplemente proporcione múltiples argumentos -p :

docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>


Si usa el archivo docker-compose.yml :

services: varnish: ports: - 80 - 6081

También puede especificar el puerto de host / red

varnish: ports: - 80:80 - 6081:6081