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
mynginxy 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
~/projectdel host en el directorio/appdel 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
- Para crear contenedores:
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
mynetworkpara los contenedores. - Despliega un contenedor Alpine llamado
myalpineen la red personalizada y asegúrate de que pueda comunicarse con otros contenedores llamadosmypythonbasados 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
- Para crear una red personalizada:
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.



