Comandos básicos de Docker
Referencia rápida de comandos Docker esenciales: gestión de imágenes, contenedores, inspección y limpieza
Cheatsheet de los comandos más comunes para trabajar con Docker en el día a día: imágenes, contenedores, inspección y limpieza. Para más detalles, consulta la documentación oficial.
Gestión de imágenes
Ver imágenes descargadas
docker images
docker images --all # Incluyendo imágenes intermedias
docker images para verlas todas.
Descargar una imagen
docker pull nombre-imagen
docker pull nombre-imagen:tag # Versión específica
Crear una imagen desde un Dockerfile
docker build -t nombre-imagen:tag .
docker build -t nombre-imagen:tag -f Dockerfile.custom . # Dockerfile personalizado
Eliminar una imagen
docker rmi nombre-imagen
docker rmi nombre-imagen:tag
docker rmi -f nombre-imagen # Fuerza eliminación
Gestión de contenedores
Crear y ejecutar un contenedor
docker run nombre-imagen
docker run -d nombre-imagen # Ejecutar en background (detached)
docker run --name mi-contenedor nombre-imagen # Nombrar el contenedor
docker run -p 8080:80 nombre-imagen # Mapear puertos (host:contenedor)
docker run -v /ruta/host:/ruta/contenedor nombre-imagen # Montar volumen
docker run -e VAR=valor nombre-imagen # Variable de entorno
docker run -it nombre-imagen /bin/bash # Terminal interactiva
-d (detached) ejecuta el contenedor en background. Sin este flag, verás los logs en tu terminal y deberás presionar Ctrl+C para salir.
Ejecuta en background, nombra el contenedor, mapea el puerto 3000, monta el directorio actual como volumen y define una variable de entorno.
Listar contenedores
docker ps # Solo contenedores en ejecución
docker ps -a # Todos los contenedores
docker ps -l # Último contenedor
Ejecutar comandos en un contenedor en ejecución
docker exec -it mi-contenedor /bin/bash # Acceder a la shell
docker exec mi-contenedor comando # Ejecutar comando específico
Ver logs de un contenedor
docker logs mi-contenedor
docker logs -f mi-contenedor # Mostrar logs en vivo (follow)
docker logs --tail 50 mi-contenedor # Últimas 50 líneas
Detener / Iniciar / Reiniciar contenedor
docker stop mi-contenedor # Detener
docker start mi-contenedor # Iniciar
docker restart mi-contenedor # Reiniciar
Eliminar un contenedor
docker rm mi-contenedor
docker rm -f mi-contenedor # Fuerza eliminación (incluso si está en ejecución)
docker rm elimina el contenedor y sus datos locales. Si necesitas persistencia, usa volúmenes.
Inspección y depuración
Inspeccionar contenedor o imagen
docker inspect mi-contenedor # JSON con detalles completos
docker inspect --format='{{.NetworkSettings.IPAddress}}' mi-contenedor # Campo específico
Ver estadísticas en vivo
docker stats # CPU, memoria, red de todos los contenedores
docker stats mi-contenedor # Solo uno
Ver historial de cambios en un contenedor
docker diff mi-contenedor
Limpieza y mantenimiento
Eliminar contenedores detenidos
docker container prune # Elimina todos los contenedores detenidos
docker container prune -f # Sin confirmar
Ver uso de disco
docker system df # Resumen de imágenes, contenedores, volúmenes
Limpiar todo (cuidado)
docker system prune # Elimina contenedores, redes y imágenes sin usar
docker system prune -a # También elimina imágenes con etiqueta
docker system prune --volumes # También elimina volúmenes sin usar
docker system prune elimina datos permanentemente. Asegúrate de que no necesitas esos recursos antes de ejecutarlo.
Red y volúmenes
Listar volúmenes
docker volume ls
Crear un volumen
docker volume create mi-volumen
Listar redes
docker network ls
Crear una red
docker network create mi-red
docker run --network mi-red --name contenedor1 imagen1
Próximos pasos
- Dockerfile: Crea tus propias imágenes
- Volúmenes y redes: Persistencia y comunicación entre contenedores
- Docker Compose: Orquesta múltiples contenedores