Docker – Instrucción EXPOSE

La instrucción EXPOSE expone un puerto particular con un protocolo específico dentro de un Docker Container. En el término más simple, la instrucción EXPOSE le dice a Docker que obtenga toda la información requerida durante el tiempo de ejecución desde un puerto específico. Estos puertos pueden ser TCP o UDP, pero es TCP por defecto. También es importante comprender que la instrucción EXPOSE solo actúa como una plataforma de información (como la documentación) entre el creador de la imagen de Docker y la persona que ejecuta el contenedor. Algunos puntos a tener en cuenta son: 

  • Puede usar el protocolo TCP o UDP para exponer el puerto.
  • El protocolo predeterminado es TCP si no se especifica ningún otro protocolo.
  • No asigna puertos en la máquina host.
  • Se puede anular usando el indicador de publicación ( -p ) al iniciar un contenedor.

La sintaxis para EXPONER los puertos especificando un protocolo es:

Syntax: EXPOSE <port>/<protocol>

En este artículo, vamos a discutir algunos ejemplos prácticos de cómo usar la instrucción EXPOSE en su Dockerfile y anularlo usando el indicador de publicación al iniciar un Docker Container.

Siga los pasos a continuación para implementar la instrucción EXPOSE en un contenedor acoplable:

Paso 1: Cree un Dockerfile con la instrucción EXPOSE

Vamos a crear un Dockerfile con dos instrucciones EXPOSE, una con protocolo TCP y otra con protocolo UDP.

FROM ubuntu:latest
EXPOSE 80/tcp
EXPOSE 80/udp

Paso 2: crea la imagen de Docker

Para construir la imagen de Docker usando el Dockerfile anterior, puede usar el comando Docker Build.

sudo docker build -t expose-demo .

building image

Paso 3: ejecutar el contenedor Docker

Para ejecutar Docker Container, puede usar el comando de ejecución de Docker.

sudo docker run -it expose-demo bash

running docker

Paso 4: verificar los puertos

Para verificar los puertos expuestos, puede usar el comando de inspección de Docker.

sudo docker image inspect --format='' expose-demo 

port verification

En la captura de pantalla anterior, puede ver que el objeto ExposedPorts contiene dos puertos expuestos que hemos especificado en el Dockerfile .

Paso 5: Publicación de los puertos

Para publicar todos los puertos expuestos, puede usar el indicador -p .

sudo docker run -P -d expose-demo

using EXPOSE instruction

Paso 6: Comprobación de los puertos publicados

Puede simplemente enumerar los contenedores para verificar los puertos publicados usando el siguiente comando. Pero asegúrese de que el contenedor se esté ejecutando.

sudo docker start <container-id>
sudo docker container ls

published ports

Para concluir, en este artículo, discutimos cómo usar la instrucción EXPOSE dentro de un Dockerfile para exponer los puertos de un Contenedor usando un protocolo específico y usar el indicador -p para publicar los puertos.

Publicación traducida automáticamente

Artículo escrito por iamrj846 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *