Publicado en

Docker: comandos esenciales de referencia

Comandos Docker esenciales en terminal con colores sobre fondo oscuro

Referencia rápida de los comandos Docker más usados en el día a día, organizados por categoría.

Imágenes

docker images                          # listar imágenes locales
docker pull nginx:alpine               # descargar imagen
docker build -t mi-app:1.0 .           # construir desde Dockerfile
docker build -t mi-app:1.0 -f custom.Dockerfile .
docker rmi nginx:alpine                # eliminar imagen
docker rmi $(docker images -q)         # eliminar todas las imágenes
docker image prune                     # eliminar imágenes sin usar
docker tag mi-app:1.0 usuario/mi-app:1.0  # añadir tag
docker history mi-app:1.0             # ver capas de una imagen

Contenedores

docker run nginx                       # crear y arrancar contenedor
docker run -d nginx                    # en background (detached)
docker run -d -p 8080:80 nginx         # mapear puerto host:contenedor
docker run -d --name mi-nginx nginx    # con nombre
docker run -d -e ENV_VAR=valor nginx   # con variable de entorno
docker run --rm nginx                  # eliminar al terminar
docker run -it ubuntu bash             # terminal interactivo

docker ps                              # contenedores activos
docker ps -a                           # todos (incluidos parados)
docker stop mi-nginx                   # parar (SIGTERM + espera)
docker kill mi-nginx                   # forzar parada (SIGKILL)
docker start mi-nginx                  # arrancar parado
docker restart mi-nginx                # reiniciar
docker rm mi-nginx                     # eliminar (debe estar parado)
docker rm -f mi-nginx                  # forzar eliminación

docker logs mi-nginx                   # ver logs
docker logs -f mi-nginx                # en tiempo real
docker logs --tail 100 mi-nginx        # últimas 100 líneas
docker exec -it mi-nginx sh            # abrir shell en contenedor
docker exec mi-nginx nginx -t          # ejecutar comando
docker inspect mi-nginx                # detalles del contenedor
docker stats                           # uso de recursos en tiempo real
docker top mi-nginx                    # procesos dentro del contenedor

Volúmenes

docker volume ls                       # listar volúmenes
docker volume create mi-datos          # crear volumen
docker volume inspect mi-datos         # detalles
docker volume rm mi-datos              # eliminar
docker volume prune                    # eliminar volúmenes sin usar

# Usar volumen en un contenedor
docker run -d -v mi-datos:/app/data nginx
# Bind mount (carpeta del host)
docker run -d -v /home/yassin/app:/app nginx
docker run -d -v $(pwd):/app node      # directorio actual

Redes

docker network ls                      # listar redes
docker network create mi-red           # crear red
docker network connect mi-red nginx    # conectar contenedor a red
docker network inspect mi-red          # ver contenedores en la red
docker run -d --network mi-red nginx   # arrancar en una red concreta

Docker Compose

docker compose up -d                   # arrancar servicios en background
docker compose up --build              # rebuildar imágenes antes
docker compose down                    # parar y eliminar todo
docker compose down -v                 # también los volúmenes
docker compose ps                      # estado de servicios
docker compose logs -f                 # logs de todos los servicios
docker compose logs -f web             # solo el servicio web
docker compose exec db psql            # ejecutar en un servicio
docker compose restart web             # reiniciar un servicio
docker compose pull                    # actualizar imágenes

Docker Hub y registros

docker login                           # autenticarse en Docker Hub
docker push usuario/mi-app:1.0         # subir imagen
docker pull usuario/mi-app:1.0         # descargar imagen privada

# Login en un registro privado
docker login registry.empresa.com

Limpieza

docker system prune                    # eliminar todo lo no usado
docker system prune -af                # forzar, incluir imágenes
docker system df                       # espacio en disco usado por Docker