~/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:

ComandoQué haceCuándo usarlo
docker psMuestra solo los contenedores en ejecución.Para verificar qué está corriendo ahora mismo.
docker ps -aMuestra todos los contenedores, incluidos los detenidos.Para revisar historial, estados y contenedores parados.
docker ps -sMuestra el tamaño de los contenedores.Para identificar contenedores que ocupan más espacio.
docker ps
docker ps -a
docker ps -s
validated

docker ps es el comando más útil en el día a día. Si no ves un contenedor esperado, prueba con docker ps -a.


2. Iniciar, detener, reiniciar y forzar contenedores

Estos comandos controlan el ciclo de vida del contenedor sin recrearlo.

ComandoQué haceCuá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 stop intenta cerrar el contenedor de forma graciosa. docker kill envía SIGKILL por 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.

ComandoQué haceCuá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
validated

Si necesitas puertos, nombres, volúmenes o variables de entorno, docker run es 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)

ComandoQué haceCuá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)

ComandoQué haceCuá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
validated

Si necesitas un dato concreto de la inspección, combina docker inspect con 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ónQué haceEjemplo
-itAbre una sesión interactiva con terminal.docker exec -it mi_contenedor sh
-u rootEjecuta el comando como root.docker exec -u root mi_contenedor apt update
-w /rutaDefine el directorio de trabajo.docker exec -w /app mi_contenedor ls
-e KEY=VALUEInyecta variables de entorno.docker exec -e DEBUG=true mi_contenedor env
warning

docker exec no 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, usa sh -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
validated

Renombrar 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.

ComandoQué haceCuá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 pruneElimina 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 -f detiene 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

ComandoSeñal / comportamientoUso recomendado
docker stopIntenta cerrar ordenadamente y espera antes de forzar.Paradas normales, despliegues y mantenimiento.
docker killFuerza la terminación inmediata por defecto con SIGKILL.Contenedores colgados o procesos que no responden.
tip

Si tu aplicación tarda más en apagarse, docker stop puede 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 exec para 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 run sueltos. (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.

warning

Formar parte del grupo docker equivale, 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

ObjetivoComando
Ver contenedores activosdocker ps
Ver todos los contenedoresdocker ps -a
Iniciar un contenedor detenidodocker start [CONTENEDOR]
Detenerlo correctamentedocker stop [CONTENEDOR]
Forzar paradadocker kill [CONTENEDOR]
Reiniciarlodocker restart [CONTENEDOR]
Ver logsdocker logs [CONTENEDOR]
Entrar al contenedordocker exec -it [CONTENEDOR] sh
Inspeccionar detallesdocker inspect [CONTENEDOR]
Ver consumo en vivodocker stats
Borrar contenedor detenidodocker rm [CONTENEDOR]
Borrar todos los detenidosdocker container prune

- EOF -