Ciclo de Vida del Contenedor
Un contenedor Docker pasa por varios estados durante su ciclo de vida: Creado → En ejecución → Pausado → Detenido → Eliminado.
Crear y Ejecutar Contenedores
# Ejecutar un contenedor
docker run nginx
# Ejecutar en modo separado (segundo plano)
docker run -d nginx
# Ejecutar con un nombre
docker run -d --name mi-web nginx
# Ejecutar con mapeo de puertos
docker run -d -p 8080:80 --name mi-web nginx
# Ejecutar interactivamente con una shell
docker run -it ubuntu bash
Gestionar Contenedores en Ejecución
# Listar contenedores en ejecución
docker ps
# Listar todos los contenedores
docker ps -a
# Detener un contenedor
docker stop mi-web
# Iniciar un contenedor detenido
docker start mi-web
# Reiniciar un contenedor
docker restart mi-web
Inspeccionar Contenedores
# Ver logs del contenedor
docker logs mi-web
docker logs -f mi-web # Seguir logs en tiempo real
# Obtener información detallada
docker inspect mi-web
# Ver uso de recursos (CPU, memoria)
docker stats
Ejecutar Comandos en Contenedores
# Ejecutar un comando dentro de un contenedor en ejecución
docker exec mi-web ls /usr/share/nginx/html
# Abrir una shell interactiva
docker exec -it mi-web bash
# Copiar archivos desde/hacia un contenedor
docker cp mi-web:/etc/nginx/nginx.conf ./nginx.conf
docker cp ./index.html mi-web:/usr/share/nginx/html/
Eliminar Contenedores
# Eliminar un contenedor detenido
docker rm mi-web
# Forzar eliminación de un contenedor en ejecución
docker rm -f mi-web
# Eliminar todos los contenedores detenidos
docker container prune
# Ejecutar un contenedor que se auto-elimine al salir
docker run --rm -it ubuntu bash
Puntos Clave
- ✅ Usa
-dpara contenedores en segundo plano y-itpara sesiones interactivas - ✅ Siempre nombra los contenedores con
--namepara facilitar su gestión - ✅ Usa
docker logs -fpara monitorear la salida del contenedor en tiempo real - ✅ Establece límites de recursos en producción