Diferencia entre Expose y Ports en Docker Compose

Diferencia entre Expose y Ports en Docker Compose
Docker Compose es un componente central de Docker que se utiliza con frecuencia para configurar la aplicación ejecutada en múltiples contenedores. Docker-Compose se utiliza principalmente para configurar los servicios de contenedores en el "Yaml" archivo. Se utilizan diferentes claves en la configuración del servicio ",exponer" y "puerto"Se utilizan específicamente para especificar el puerto de exposición para contenedores.

Este artículo explicará la diferencia entre los puertos y la clave de exponer en Docker Compose.

Diferencia entre Expose y Ports en Docker Compose

El "exponer" y "puertoLas claves en Docker Compose se utilizan para configurar la red y los puertos de exposición para el contenedor. Sin embargo, ambas claves se usan para el mismo propósito, pero la diferencia clave entre los "puertos" y "exponer" es que la clave de exposición es accesible para los servicios que están conectados a la misma red pero no en el host. En contraste, los puertos son accesibles y publicados en el host y en la red conectada.

Verificar la diferencia entre las claves "Exponer" y los "puertos" en Docker-Compose prácticamente

Para verificar la diferencia entre la clave de exposición y los puertos prácticamente, pase por los ejemplos enumerados:

  • Utilizar "puerto"Clave en el archivo Docker-Compose
  • Utilizar "exponer"Clave en el archivo Docker-Compose

Ejemplo 1: Utilice la tecla "Puertos" en el archivo Docker-Compose

El "puerto"La clave se utiliza para publicar el contenedor en la máquina host. Estos contenedores son accesibles para todos los servicios que también se están ejecutando en el host en una red conectada.

Para usar la tecla "Puertos" en Docker Compose, consulte las instrucciones dadas.

Paso 1: Crea un "Docker-Compose.YML "

Hacer una "compuesto de acopolador.YML"Archivo y pegue el siguiente bloque de código en el archivo:

Versión: "3"
servicios:
web:
Imagen: Nginx: Último
Puertos:
- 8080: 80

Según el fragmento anterior:

  • "web"El servicio está configurado en el"compuesto de acopolador.YML" archivo.
  • "imagen"Define la imagen base para el contenedor de composición
  • "puerto"Especifique el puerto de exposición del contenedor en una red y host:

Paso 2: Iniciar contenedores

A continuación, cree y encienda el contenedor de composición con la ayuda de "Docker-compuesto" dominio:

> Docker -Compose up -d

Paso 3: Lista de componer contenedor

Enumere el contenedor y verifique el puerto de exposición del contenedor. Desde la salida, puede observar que hemos publicado el contenedor en el host:

> Docker-Compose PS

Ejemplo 2: utilizar la clave "Exponer" en el archivo Docker-compuesto

Para utilizar la clave de exposición en el "compuesto de acopolador.YML"Archivo, eche un vistazo a las instrucciones proporcionadas.

Paso 1: Crea un "Docker-Compose.YML "

Ahora, configure el "web"Servicio para exponer el puerto 80 con la ayuda del"exponer" llave. Aquí, no hemos definido ninguna red para el contenedor:

Versión: "3"
servicios:
web:
Imagen: Nginx: Último
exponer:
- 8080: 80

Paso 2: enciende el contenedor

A continuación, cree e inicie el contenedor de composición para ejecutar el servicio web utilizando el comando proporcionado:

> Docker -Compose up -d

Paso 3: Lista de componer contenedor

Enumere el contenedor de componer y verifique el puerto de exposición del contenedor. En la siguiente salida, puede observar que el contenedor es accesible solo en el puerto 80 en una red seleccionada predeterminada pero no en el host:

> Docker-Compose PS

Hemos definido la distinción de "exponer" y "puerto"Keys en Docker Compose.

Conclusión

El "exponer" y "puerto"Ambos se utilizan para especificar el puerto de exposición del contenedor para ejecutar servicios definidos. La principal diferencia entre estas dos claves es que los "puertos" se publican y se pueden acceder en la máquina host y también en la red especificada, mientras que "Exponer" solo se publica en la red definida y se accede por servicios que se ejecutan en la misma red. Este artículo demostró la distinción entre "puertos" y "exponer" en Docker Compose.