~/docs /DOCKER/Administrar contenedores
DOCKER
Administrar contenedores
Imported from Notion: Administrar contenedores
updated:: 2026.07.10
1. Listar contenedores
Usa estos comandos para ver qué contenedores están activos, detenidos o consumiendo recursos:
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
docker ps | Muestra solo los contenedores en ejecución. | Para verificar qué está corriendo ahora mismo. |
docker ps -a | Muestra todos los contenedores, incluidos los detenidos. | Para revisar historial, estados y contenedores parados. |
docker ps -s | Muestra el tamaño de los contenedores. | Para identificar contenedores que ocupan más espacio. |
docker ps
docker ps -a
docker ps -s
validated
docker pses el comando más útil en el día a día. Si no ves un contenedor esperado, prueba condocker ps -a.
2. Iniciar, detener, reiniciar y forzar contenedores
Estos comandos controlan el ciclo de vida del contenedor sin recrearlo.
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
docker start [CONTENEDOR] | Inicia uno o más contenedores detenidos. | Cuando el contenedor ya existe y solo quieres arrancarlo. |
docker stop [CONTENEDOR] | Detiene el contenedor de forma ordenada. | Para apagar servicios sin cortar el proceso bruscamente. |
docker restart [CONTENEDOR] | Detiene e inicia el contenedor de nuevo. | Cuando necesitas aplicar cambios o recuperar un estado limpio. |
docker kill [CONTENEDOR] | Fuerza la detención inmediata. | Solo si el contenedor no responde. |
docker start mi_contenedor_web
docker stop mi_contenedor_db
docker restart mi_aplicacion
docker kill mi_proceso_problematico
important
docker stopintenta cerrar el contenedor de forma graciosa.docker killenvíaSIGKILLpor defecto, así que debe usarse solo cuando el contenedor está bloqueado o no responde. (docs.docker.com)
3. Crear y ejecutar contenedores
docker run crea y arranca un contenedor nuevo a partir de una imagen. En esta página se usa como referencia operativa, no como introducción general.
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
docker run [IMAGEN] | Crea un contenedor nuevo y lo ejecuta. | Para levantar una instancia nueva desde una imagen local o remota. |
docker run -p 80:80 --name mi_servidor_web nginx
validatedSi necesitas puertos, nombres, volúmenes o variables de entorno,
docker runes el punto de entrada. Para escenarios con varios servicios, normalmente conviene usar Docker Compose. (docs.docker.com)
4. Logs del contenedor
Los logs son la primera herramienta para depurar problemas de arranque, errores de aplicación o salidas inesperadas. Docker expone la salida estándar y de error del contenedor mediante docker logs. (docs.docker.com)
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
docker logs [CONTENEDOR] | Muestra los logs acumulados. | Para revisar mensajes recientes sin seguir la salida en vivo. |
docker logs -f [CONTENEDOR] | Sigue la salida en tiempo real. | Para depurar mientras reproduces el problema. |
docker logs --tail [N] [CONTENEDOR] | Muestra las últimas N líneas. | Para enfocarte en el final del log. |
docker logs -t [CONTENEDOR] | Añade marcas de tiempo. | Para correlacionar eventos con otras trazas. |
docker logs mi_contenedor_app
docker logs -f mi_contenedor_app
docker logs --tail 100 mi_contenedor_app
docker logs -t mi_contenedor_app
5. Inspeccionar contenedores
docker inspect devuelve información detallada de bajo nivel en formato JSON. Sirve para revisar red, montajes, variables, estado, configuración y más. (docs.docker.com)
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
docker inspect [CONTENEDOR] | Muestra la configuración completa del contenedor. | Para diagnosticar problemas de red, puertos o volúmenes. |
docker inspect --size [CONTENEDOR] | Incluye tamaños del contenedor. | Para medir consumo de disco. |
docker inspect --type=container [NOMBRE] | Limita el tipo de objeto inspeccionado. | Para evitar ambigüedades con nombres repetidos. |
docker inspect mi_contenedor_web
docker inspect --size mi_contenedor_web
validatedSi necesitas un dato concreto de la inspección, combina
docker inspectcon formatos personalizados en lugar de leer todo el JSON completo. (docs.docker.com)
6. Ejecutar comandos dentro de un contenedor: docker exec
docker exec ejecuta un comando dentro de un contenedor que ya está en ejecución. No reinicia el contenedor y solo funciona mientras el proceso principal sigue vivo. (docs.docker.com)
Sintaxis
docker exec [OPCIONES] [CONTENEDOR] [COMANDO] [ARG...]
Uso habitual
docker exec -it mi_servidor_web bash
Si la imagen no incluye bash, usa sh:
docker exec -it mi_servidor_web sh
Ejemplos rápidos
docker exec mi_servidor_web ls /
docker exec mi_servidor_web touch /tmp/nuevo_archivo.txt
Opciones útiles
| Opción | Qué hace | Ejemplo |
|---|---|---|
-it | Abre una sesión interactiva con terminal. | docker exec -it mi_contenedor sh |
-u root | Ejecuta el comando como root. | docker exec -u root mi_contenedor apt update |
-w /ruta | Define el directorio de trabajo. | docker exec -w /app mi_contenedor ls |
-e KEY=VALUE | Inyecta variables de entorno. | docker exec -e DEBUG=true mi_contenedor env |
warning
docker execno sirve para contenedores pausados. Si el contenedor está en pausa, primero debes reanudarlo. Además, el comando que ejecutes debe ser un ejecutable real; si necesitas encadenar instrucciones, usash -c. (docs.docker.com)
7. Verificar consumo de recursos
docker stats muestra el uso en vivo de CPU, memoria, red y disco de uno o varios contenedores en ejecución. (docs.docker.com)
docker stats
docker stats mi_contenedor_web
validatedÚsalo cuando un contenedor responde lento o sospechas de consumo excesivo de memoria o CPU. Los contenedores detenidos no muestran datos en
stats. (docs.docker.com)
8. Renombrar contenedores
Renombrar ayuda a mantener nombres coherentes en entornos de trabajo, especialmente cuando hay muchos contenedores locales.
docker rename nombre_viejo nombre_nuevo
docker rename web_dev web_local
validatedRenombrar no recrea el contenedor ni cambia su configuración; solo actualiza su nombre visible.
9. Eliminar contenedores
Eliminar contenedores libera recursos, pero conviene hacerlo solo cuando ya no los necesitas.
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
docker rm [CONTENEDOR] | Elimina contenedores detenidos. | Para borrar contenedores obsoletos. |
docker rm -f [CONTENEDOR] | Fuerza la eliminación de un contenedor en ejecución. | Solo si necesitas borrarlo inmediatamente. |
docker container prune | Elimina todos los contenedores detenidos. | Para limpiar varios contenedores de una vez. |
docker rm mi_contenedor_antiguo
docker rm -f mi_contenedor_persistente
docker container prune
important
docker rm -fdetiene y borra el contenedor de golpe. Si el contenedor guarda datos importantes en un volumen, revisa primero qué persiste y qué se perderá.
10. Diferencias clave entre stop y kill
| Comando | Señal / comportamiento | Uso recomendado |
|---|---|---|
docker stop | Intenta cerrar ordenadamente y espera antes de forzar. | Paradas normales, despliegues y mantenimiento. |
docker kill | Fuerza la terminación inmediata por defecto con SIGKILL. | Contenedores colgados o procesos que no responden. |
tipSi tu aplicación tarda más en apagarse,
docker stoppuede esperar un tiempo antes de forzar la terminación. Eso es normal y evita cierres bruscos innecesarios. (docs.docker.com)
11. Buenas prácticas operativas
-
Usa
docker execpara tareas puntuales dentro del contenedor, no para convertirlo en una máquina administrada manualmente. -
Expón solo los puertos necesarios con
-p. -
Persiste datos importantes en volúmenes, no dentro del sistema de archivos efímero del contenedor.
-
Actualiza imágenes con regularidad para incorporar correcciones y parches.
-
Si administras varios servicios relacionados, valora usar Docker Compose en lugar de muchos
docker runsueltos. (docs.docker.com)
12. Uso de sudo y grupo docker
En muchos sistemas Linux, docker requiere permisos de administrador. Puedes ejecutar comandos con sudo o añadir tu usuario al grupo docker para evitar escribirlo siempre. Ese cambio mejora la comodidad, pero también amplía mucho el nivel de acceso del usuario al motor de Docker.
warningFormar parte del grupo
dockerequivale, en la práctica, a tener privilegios elevados sobre el host. Úsalo solo si entiendes el impacto de seguridad y tu entorno lo permite.
13. Resumen rápido de comandos frecuentes
| Objetivo | Comando |
|---|---|
| Ver contenedores activos | docker ps |
| Ver todos los contenedores | docker ps -a |
| Iniciar un contenedor detenido | docker start [CONTENEDOR] |
| Detenerlo correctamente | docker stop [CONTENEDOR] |
| Forzar parada | docker kill [CONTENEDOR] |
| Reiniciarlo | docker restart [CONTENEDOR] |
| Ver logs | docker logs [CONTENEDOR] |
| Entrar al contenedor | docker exec -it [CONTENEDOR] sh |
| Inspeccionar detalles | docker inspect [CONTENEDOR] |
| Ver consumo en vivo | docker stats |
| Borrar contenedor detenido | docker rm [CONTENEDOR] |
| Borrar todos los detenidos | docker container prune |
- EOF -