Redes en Docker

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es la función de la propiedad 'depends on' en Docker compose?

  • Eliminar contenedores que no se utilizan
  • Ejecutar contenedores en paralelo
  • Verificar la salud de un contenedor en ejecución
  • Esperar a que un contenedor se ejecute correctamente antes de iniciar otro (correct)

Docker compose verifica la salud del contenedor que se declara en 'depends on'.

False (B)

¿Qué debe hacer un contenedor de API antes de ejecutarse?

Esperar a que el contenedor de dev se ejecute con éxito.

La propiedad 'depends on' se agrega después de _____ en la configuración de Docker compose.

<p>Volumes</p> Signup and view all the answers

Relaciona los términos con su descripción correcta:

<p>depends on = Espera a que un contenedor se ejecute DB = Contenedor de base de datos API = Contenedor que proporciona servicios Docker compose = Herramienta para gestionar contenedores</p> Signup and view all the answers

¿Qué comando se utiliza para iniciar Docker en modo detached?

<p>docker compose up (C)</p> Signup and view all the answers

La red 'host' en Docker permite que los contenedores utilicen la red del sistema operativo anfitrión.

<p>True (A)</p> Signup and view all the answers

¿Cómo se llama la red que impide la comunicación entre contenedores y entre el contenedor y el sistema anfitrión?

<p>null</p> Signup and view all the answers

La red por defecto creada por Docker se denomina __________.

<p>Hola Mundo_default</p> Signup and view all the answers

Relaciona los tipos de redes de Docker con sus descripciones:

<p>Bridge = Permite la comunicación entre contenedores dentro de la misma red. Host = Utiliza la red del sistema operativo anfitrión. Null = No permite comunicación entre contenedores. Overlay = Conecta contenedores en diferentes máquinas que ejecutan Docker.</p> Signup and view all the answers

¿Cuál es el propósito del servicio de DNS en Docker?

<p>Resolver nombres de contenedores a sus respectivas IPs (C)</p> Signup and view all the answers

Los contenedores en la red 'bridge' pueden comunicarse entre sí sin problemas.

<p>True (A)</p> Signup and view all the answers

¿Qué se debe hacer para ver todas las redes creadas por Docker?

<p>Escribir 'docker network ls'.</p> Signup and view all the answers

Cuando un contenedor expone el puerto 80 en modo host, se puede acceder a él directamente desde el puerto __________ de la máquina anfitrión.

<p>80</p> Signup and view all the answers

Relaciona los tipos de redes con sus características específicas:

<p>Bridge = Red predeterminada para comunicación entre contenedores. Host = Uso directo del sistema anfitrión. Null = Sin comunicación. Overlay = Conexión entre contenedores de diferentes máquinas.</p> Signup and view all the answers

¿Cómo se ejecuta un comando en modo interactivo dentro de un contenedor?

<p>docker exec -it [ID] [comando] (C)</p> Signup and view all the answers

El driver 'overlay' permite que contenedores en diferentes máquinas se comuniquen entre sí.

<p>True (A)</p> Signup and view all the answers

¿Qué tipo de red se debe utilizar cuando se quiere que los contenedores se comuniquen entre diferentes máquinas?

<p>Overlay</p> Signup and view all the answers

Cada contenedor de Docker tiene un __________ que actúa como un resolver DNS.

<p>DNS resolver</p> Signup and view all the answers

¿Cuál es el comando utilizado para ejecutar los tests dentro de Docker?

<p>npm test (C)</p> Signup and view all the answers

Es posible mantener un volumen para reflejar cambios de código en Docker inmediatamente.

<p>True (A)</p> Signup and view all the answers

¿Cómo se llama el archivo que se utiliza para definir los servicios y configuraciones de Docker Compose?

<p>docker-compose.yml</p> Signup and view all the answers

El comando para ejecutar los contenedores en Docker Compose es __________.

<p>docker compose up</p> Signup and view all the answers

Relaciona las acciones con sus comandos correspondientes:

<p>Ejecutar tests = npm test Construir imagen = docker build Iniciar contenedor = docker run Ejecutar Docker Compose = docker compose up</p> Signup and view all the answers

¿Cuál es una razón para no reconstruir una imagen cuando se ejecuta un contenedor?

<p>Ya existe una imagen previamente construida (C)</p> Signup and view all the answers

Los tests se pueden ejecutar directamente desde la terminal sin necesidad de Docker.

<p>True (A)</p> Signup and view all the answers

¿Por qué se debe reemplazar el comando en el contenedor de API por 'npm test'?

<p>Para ejecutar los tests en lugar del servidor de la API.</p> Signup and view all the answers

Cuando se modifica el código en un contenedor, es importante poder __________ los tests.

<p>reflejar</p> Signup and view all the answers

¿Qué sucede si los cambios en los tests no son tomados inmediatamente por Docker?

<p>Es necesario añadir un volumen adicional (C)</p> Signup and view all the answers

Flashcards

Depends on

Una propiedad en Docker Compose que permite especificar que un contenedor debe esperar a que otro contenedor termine de ejecutarse exitosamente antes de iniciar.

Depends on: Nombre del servicio

Esta propiedad en Docker Compose se encarga de definir la dependencia entre contenedores. Se indica el nombre del contenedor que se debe esperar para que otro contenedor inicie.

Verificación de la salud del contenedor dependente

Docker Compose solo espera a que el contenedor dependiente se inicie, no verifica si funciona correctamente.

¿Qué sucede con el contenedor que depende de otro?

El contenedor que depende de otro contenedor solo se inicia después de que el contenedor dependente se haya construido y ejecutado exitosamente.

Signup and view all the flashcards

Configuraciones y salud de los contenedores

Es importante asegurarse de que los contenedores dependientes estén bien configurados y funcionando correctamente. La propiedad depends on no garantiza la salud del contenedor dependente.

Signup and view all the flashcards

Red de puente (Bridge)

Red de Docker que se crea por defecto y permite la comunicación entre contenedores dentro de la misma red.

Signup and view all the flashcards

Red de host

Red Docker cuyo driver utiliza la implementación de red del sistema operativo anfitrión. Los contenedores exponen sus puertos directamente en la máquina anfitrión.

Signup and view all the flashcards

Red sin conexión (Null)

Red Docker cuyo driver no permite comunicación entre contenedores ni con la máquina anfitrión. Los contenedores quedan aislados.

Signup and view all the flashcards

Red Overlay

Red Docker, generalmente utilizada en entornos distribuidos con Kubernetes, que permite la comunicación entre contene-dores en diferentes máquinas.

Signup and view all the flashcards

Red 'Hola Mundo - default'

Red Docker por defecto en Docker Compose, permite la comunicación interna entre servicios definidos en el archivo Docker Compose.

Signup and view all the flashcards

DNS Resolver

Herramienta de Docker que asigna IPs a los contenedores y traduce nombres de servicios a direcciones IP.

Signup and view all the flashcards

Nombre del servicio

Variable de entorno que contiene el nombre del servicio al que se quiere acceder, por ejemplo, 'dev'.

Signup and view all the flashcards

Servidor DNS

Servicio de Docker que traduce nombres de dominio a direcciones IP, facilitando la comunicación entre contenedores dentro de una red.

Signup and view all the flashcards

Archivo Docker Compose

Conjunto de instrucciones que definen los servicios, redes e imágenes de Docker para una aplicación.

Signup and view all the flashcards

Comando Docker Exec

Herramienta de línea de comandos para interactuar con los contenedores Docker. Permite ejecutar comandos dentro del contenedor.

Signup and view all the flashcards

Comando Docker PS

Comando de línea de comandos para visualizar los contenedores en ejecución.

Signup and view all the flashcards

Comunicación interna entre contenedores

Red interna dentro de Docker que permite la comunicación entre servicios de la misma aplicación. Los contenedores se pueden comunicar entre sí a través de nombres de servicios conocidos por el servidor DNS.

Signup and view all the flashcards

Asignación de IP a contenedores

Proceso de asignar una IP a cada contenedor dentro de una red de Docker. Esta IP es utilizada para la comunicación entre los contenedores.

Signup and view all the flashcards

Kubernetes

Conjunto de herramientas y tecnologías que permiten el despliegue, escalado y gestión de aplicaciones en contenedores.

Signup and view all the flashcards

Ejecutar pruebas dentro de un contenedor Docker

Proceso de ejecutar pruebas en un contenedor Docker, permitiendo un entorno aislado para las pruebas y la separación de las dependencias del sistema host.

Signup and view all the flashcards

Dockerfile

Un archivo que define la configuración de un contenedor Docker, incluyendo el comando a ejecutar, las dependencias y los volúmenes.

Signup and view all the flashcards

Docker Compose

Una herramienta que permite la gestión de múltiples contenedores Docker, facilitando la configuración y el inicio de aplicaciones con varios contenedores.

Signup and view all the flashcards

Command

El comando que se ejecutará en el contenedor una vez que se haya iniciado, puede ser, por ejemplo, un comando para ejecutar un servidor web o una aplicación.

Signup and view all the flashcards

Volumen

Un mapeo entre un directorio en el sistema host y un directorio dentro del contenedor, permitiendo la sincronización de archivos entre ambos, lo que posibilita la modificación del código dentro del contenedor de forma inmediata.

Signup and view all the flashcards

Nombre del contenedor

El nombre que se asigna a un contenedor Docker, se utiliza para acceder al contenedor desde la máquina host o desde otros contenedores.

Signup and view all the flashcards

Imagen

La imagen de Docker que se utilizará para construir el contenedor, contiene el sistema operativo, las dependencias y el código fuente de la aplicación.

Signup and view all the flashcards

Puertos

Los puertos que el contenedor expondrá al exterior para la comunicación con otros sistemas, como un servidor web que escuche en el puerto 80.

Signup and view all the flashcards

Base de datos para pruebas

Configurar una instancia específica de una base de datos para las pruebas, por ejemplo, una instancia diferente de la que se utiliza en producción.

Signup and view all the flashcards

Study Notes

Redes en Docker

  • Docker Compose permite levantar ambientes con la opción docker compose up -d (detached).
  • Para listar las redes, se utiliza docker network ls.
  • Existen tres redes por defecto:
    • bridge: Crea una red para que los contenedores dentro de ella se comuniquen. Todos los contenedores en una red bridge pueden comunicarse entre sí.
    • host: Usa la red del host (la máquina). Permite acceder a los contenedores desde puertos del host. Posibles conflictos.
    • none: No crea una red para la comunicación entre contenedores. No se comunica con otros contenedores ni con el host.
  • overlay: Permite la comunicación entre contenedores de diferentes máquinas Docker. Se usa para despliegues con Kubernetes.
  • Hola Mundo_default: Red por defecto creada por docker compose para servicios definidos en el archivo docker-compose.yml. Los servicios app, API, y dev se conectan a esta red. Permite la comunicación entre ellos.
  • DNS en Docker: Cada contenedor tiene un resolutor DNS interno. Esto permite que los contenedores se comuniquen usando sus nombres (ej: API, dev) en vez de sus direcciones IP. Docker asigna una IP a cada contenedor, pero no es visible externamente y cambia según la máquina.
  • Se puede acceder a las IPs de los contenedores utilizando comandos como docker exec -it <ID contenedor> sh y luego ping <nombre contenedor>. Para ver la IP local de la máquina, usar ifconfig. No es necesario obtener las IPs, solo se indican nombres de contenedor.
  • Dependencia entre contenedores: La opción depends_on en docker-compose.yml permite iniciar un contenedor solo después que otro haya concluido correctamente. No verifica el estado del contenedor dependiente. Es responsabilidad del desarrollador asegurar que el contenedor dependiente funcione correctamente.
  • Ejecución de tests dentro de un contenedor: Se pueden ejecutar tests dentro de un contenedor Docker utilizando npm test o comandos similares. Se puede modificar el comando de inicio del contenedor a través de la propiedad command en docker-compose.yml.
  • Volumen compartido: Para que los cambios en archivos de test se reflejen en el contenedor, se necesitan volúmenes para los directorios app y test. Se deben agregar estos volúmenes a la definición del contenedor en docker-compose.yml.
  • Reutilización de imagen: Se puede indicar que se utilice una imagen preexistente (Hola Mundo - API) especificando el nombre en el archivo docker-compose.yml.
  • Imágenes: La imagen del contenedor se construye y se nombra utilizando el nombre del directorio y el nombre del servicio (ej: Hola Mundo - API).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Sistemas Cluster y Contenedores Docker
10 questions
05A - Docker Networking
18 questions

05A - Docker Networking

EntrancedDobro6607 avatar
EntrancedDobro6607
Red de Contenedores Docker
5 questions
Use Quizgecko on...
Browser
Browser