Dominio de Docker en las praderas gelasias

DockerBeginner
Practicar Ahora

Introducción

Imagina que te encuentras en las antiguas praderas de Gelasia, donde los caballos salvajes corren libremente y el vínculo entre un domador y las bestias indomables es vital para la supervivencia. Tu papel es el de domador de caballos salvajes, con la misión de utilizar Docker para gestionar contenedores de manera eficiente en este vasto paisaje.

Dominio de la creación de contenedores

En este paso, aprenderás los fundamentos de la creación y gestión de contenedores Docker para sobrevivir en las praderas salvajes.

Tareas

  • Crea un contenedor Nginx llamado mynginx y asegúrate de que se esté ejecutando correctamente.
  • Inicia un contenedor Alpine y verifica su estado.
  • Despliega un contenedor Ubuntu con un volumen específico adjunto (montando el directorio ~/project del host en el directorio /app del contenedor).

Requisitos

  • Debes realizar todas las operaciones dentro del directorio /home/labex/project.
  • Utiliza los siguientes comandos:
    • Para crear contenedores: docker run
    • Para verificar el estado de los contenedores: docker ps
    • Para adjuntar un volumen: docker run -v

Ejemplo

Tras completar las tareas, la salida de docker ps debería mostrar los contenedores en ejecución, incluyendo información relevante como el ID del contenedor, la imagen y el estado.

labex:~/ $ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
1983f85f03d4   ubuntu    "sleep 3600"             22 seconds ago   Up 21 seconds             ubuntu_container
4231996cae33   alpine    "sleep 3600"             2 minutes ago    Up 2 minutes              alpine_container
519eadd3ced5   nginx     "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    80/tcp    mynginx

Redes y comunicación entre contenedores

En este paso, te adentrarás en el mundo de las redes y la comunicación entre contenedores para establecer una conectividad fluida a través de las praderas.

Tareas

  • Crea una red personalizada llamada mynetwork para los contenedores.
  • Despliega un contenedor Alpine llamado myalpine en la red personalizada y asegúrate de que pueda comunicarse con otros contenedores llamados mypython basados en la imagen de Python dentro de la misma red.

Requisitos

  • Todas las operaciones deben realizarse dentro del directorio /home/labex/project.
  • Utiliza los siguientes comandos:
    • Para crear una red personalizada: docker network create
    • Para conectar contenedores a una red: docker network connect

Ejemplo

Al finalizar las tareas, la red personalizada debería ser visible al ejecutar docker network ls, y el contenedor Python debería comunicarse exitosamente con otros contenedores dentro de la red.

Ver la red:

labex:~/ $ docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
1a367e6cc4e5   bridge      bridge    local
91199fc6ad2e   host        host      local
32e2857073a9   minikube    bridge    local
92d3b71b7efd   mynetwork   bridge    local
1078d2c781b6   none        null      local

Ver la conexión de los contenedores mediante ping:

labex:~/ $ docker exec myalpine ping mypython
PING mypython (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.153 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.072 ms
64 bytes from 172.18.0.3: seq=2 ttl=64 time=0.069 ms

Resumen

En este desafío, has asumido el papel de un domador de caballos salvajes en las antiguas praderas, dominando el arte de gestionar contenedores Docker. Al completar las tareas y comprender las soluciones, has adquirido habilidades esenciales en la gestión y redes de contenedores Docker, fundamentales para sobrevivir en el indomable mundo de Docker.

✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar