En esta sección, aprenderemos cómo gestionar contenedores Docker de manera efectiva. Esto incluye iniciar, detener, reiniciar, eliminar y obtener información sobre los contenedores. También veremos cómo acceder a los logs y cómo interactuar con los contenedores en ejecución.
Conceptos Clave
- Iniciar y Detener Contenedores: Comandos para iniciar y detener contenedores.
- Reiniciar Contenedores: Cómo reiniciar contenedores en caso de fallos o actualizaciones.
- Eliminar Contenedores: Métodos para eliminar contenedores que ya no son necesarios.
- Inspeccionar Contenedores: Obtener información detallada sobre los contenedores.
- Acceder a los Logs: Ver los logs generados por los contenedores.
- Interacción con Contenedores: Ejecutar comandos dentro de contenedores en ejecución.
Iniciar y Detener Contenedores
Iniciar un Contenedor
Para iniciar un contenedor, utilizamos el comando docker start
. Si el contenedor no está creado, primero debemos crearlo con docker run
.
# Crear y ejecutar un contenedor docker run -d --name mi_contenedor nginx # Iniciar un contenedor detenido docker start mi_contenedor
Detener un Contenedor
Para detener un contenedor en ejecución, utilizamos el comando docker stop
.
Reiniciar Contenedores
Reiniciar un contenedor puede ser útil para aplicar cambios de configuración o solucionar problemas.
Eliminar Contenedores
Eliminar contenedores que ya no son necesarios ayuda a liberar recursos del sistema.
# Eliminar un contenedor detenido docker rm mi_contenedor # Eliminar un contenedor en ejecución (forzadamente) docker rm -f mi_contenedor
Inspeccionar Contenedores
El comando docker inspect
proporciona información detallada sobre un contenedor, incluyendo su configuración y estado.
Acceder a los Logs
Los logs de un contenedor son cruciales para el diagnóstico y la resolución de problemas.
# Ver los logs de un contenedor docker logs mi_contenedor # Ver los logs en tiempo real docker logs -f mi_contenedor
Interacción con Contenedores
Podemos ejecutar comandos dentro de un contenedor en ejecución utilizando docker exec
.
# Ejecutar un comando dentro de un contenedor docker exec mi_contenedor ls /var/www # Acceder a una shell dentro de un contenedor docker exec -it mi_contenedor /bin/bash
Ejercicios Prácticos
Ejercicio 1: Iniciar y Detener Contenedores
- Crea y ejecuta un contenedor con la imagen
nginx
. - Detén el contenedor.
- Reinicia el contenedor.
- Elimina el contenedor.
Solución:
docker run -d --name mi_nginx nginx docker stop mi_nginx docker restart mi_nginx docker rm -f mi_nginx
Ejercicio 2: Inspeccionar y Ver Logs
- Crea y ejecuta un contenedor con la imagen
nginx
. - Inspecciona el contenedor y observa su configuración.
- Accede a los logs del contenedor.
Solución:
Ejercicio 3: Ejecutar Comandos en un Contenedor
- Crea y ejecuta un contenedor con la imagen
nginx
. - Ejecuta el comando
ls /usr/share/nginx/html
dentro del contenedor. - Accede a una shell dentro del contenedor.
Solución:
docker run -d --name mi_nginx nginx docker exec mi_nginx ls /usr/share/nginx/html docker exec -it mi_nginx /bin/bash
Conclusión
En esta sección, hemos aprendido cómo gestionar contenedores Docker de manera efectiva. Ahora sabes cómo iniciar, detener, reiniciar, eliminar, inspeccionar y acceder a los logs de los contenedores. También has aprendido a interactuar con contenedores en ejecución. Estos conocimientos son fundamentales para administrar aplicaciones en contenedores de manera eficiente.
En la próxima sección, exploraremos las redes en Docker, lo que te permitirá conectar contenedores y gestionar la comunicación entre ellos.
Docker: De Principiante a Avanzado
Módulo 1: Introducción a Docker
- ¿Qué es Docker?
- Instalando Docker
- Arquitectura de Docker
- Comandos Básicos de Docker
- Entendiendo las Imágenes de Docker
- Creando tu Primer Contenedor Docker
Módulo 2: Trabajando con Imágenes Docker
- Docker Hub y Repositorios
- Construyendo Imágenes Docker
- Conceptos Básicos de Dockerfile
- Gestionando Imágenes Docker
- Etiquetado y Publicación de Imágenes
Módulo 3: Contenedores Docker
- Ejecutando Contenedores
- Ciclo de Vida del Contenedor
- Gestionando Contenedores
- Redes en Docker
- Persistencia de Datos con Volúmenes
Módulo 4: Docker Compose
- Introducción a Docker Compose
- Definiendo Servicios en Docker Compose
- Comandos de Docker Compose
- Aplicaciones Multi-Contenedor
- Variables de Entorno en Docker Compose
Módulo 5: Conceptos Avanzados de Docker
- Profundización en Redes Docker
- Opciones de Almacenamiento Docker
- Mejores Prácticas de Seguridad en Docker
- Optimizando Imágenes Docker
- Registro y Monitoreo en Docker
Módulo 6: Docker en Producción
- CI/CD con Docker
- Orquestando Contenedores con Docker Swarm
- Introducción a Kubernetes
- Desplegando Contenedores Docker en Kubernetes
- Escalado y Balanceo de Carga