Skip to content

Comandos de Docker explicados

Los comandos de Docker de uso diario, agrupados por tarea: construir y mover imágenes, arrancar y detener contenedores, ajustar docker run con flags, leer logs y estadísticas, entrar en un contenedor, copiar archivos y comunicarse con registros, gestionar volúmenes y redes, manejar Compose y recuperar espacio en disco.

Docker se divide en dos objetos: imágenes (la plantilla de solo lectura) y contenedores (una instancia en ejecución de una imagen). Construyes o descargas una imagen, la ejecutas como contenedor, inspeccionas qué está pasando y luego limpias. La mayoría también usa Compose para declarar aplicaciones de varios contenedores. Cada comando de abajo tiene una forma corta; la forma larga se muestra donde es la más clara.

Tabla de referencia · 75 entradas
75 of 75 rows
Construcción
Construye una imagen a partir de un Dockerfile.docker build -t app:1.0 .
Reconstruye la imagen desde cero, ignorando las capas en caché.docker build --no-cache -t app:1.0 .
Construye solo hasta una etapa con nombre en un Dockerfile multi-stage.docker build --target deps -t app:deps .
Construye imágenes mediante el plugin buildx, que controla BuildKit.docker buildx build -t app:1.0 .
Construye una imagen para varias arquitecturas de CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Imágenes
Descarga una imagen de un registro.docker pull node:20
Lista las imágenes almacenadas localmente.docker images
Crea una nueva etiqueta que apunta a la misma imagen.docker tag app:1.0 app:latest
Elimina una o más imágenes locales.docker rmi app:1.0
Ciclo de vida del contenedor
Crea y arranca un contenedor a partir de una imagen.docker run -p 8080:3000 app
Crea un contenedor sin arrancarlo.docker create --name web app
Arranca un contenedor que estaba detenido.docker start web
Detiene un contenedor en ejecución de forma ordenada.docker stop web
Detiene y arranca un contenedor en un solo paso.docker restart web
Fuerza la detención de un contenedor sin esperar un apagado ordenado.docker kill web
Congela todos los procesos dentro de un contenedor.docker pause web
Descongela los procesos de un contenedor en pausa.docker unpause web
Bloquea hasta que un contenedor se detiene y muestra su código de salida.docker wait web
Lista los contenedores en ejecución; añade -a para incluir los detenidos.docker ps -a
Da un nombre nuevo a un contenedor existente.docker rename web web-old
Cambia los límites de recursos o la política de reinicio de un contenedor.docker update --restart=unless-stopped web
Elimina un contenedor detenido.docker rm web
Flags de run
Ejecuta el contenedor en segundo plano y muestra su ID.docker run -d -p 8080:80 app
Publica un puerto del contenedor en un puerto del host.docker run -p 8080:80 app
Monta una carpeta del host o un volumen con nombre en el contenedor.docker run -v app-data:/data app
Define una variable de entorno en el contenedor.docker run -e MODE=prod app
Da al contenedor un nombre fijo para usarlo en comandos posteriores.docker run --name web app
Elimina el contenedor cuando termina.docker run --rm app
Arranca el contenedor en una red específica.docker run --network net app
Indica a Docker cuándo reiniciar el contenedor.docker run --restart unless-stopped app
Asigna una terminal y mantiene stdin abierto para una sesión interactiva.docker run -it alpine sh
Sustituye el entrypoint de la imagen por tu propio comando.docker run --entrypoint sh app
Limita la memoria o la cuota de CPU que el contenedor puede usar.docker run --memory 512m --cpus 0.5 app
Inspección
Lee stdout y stderr de un contenedor; -f sigue la salida nueva a medida que llega.docker logs -f web
Muestra la configuración y el estado de bajo nivel de un contenedor o imagen.docker inspect web
Extrae un campo de inspect con una plantilla de Go.docker inspect --format '{{.State.Status}}' web
Lista los puertos del host que publica un contenedor.docker port web
Muestra los archivos que un contenedor cambió respecto a su imagen.docker diff web
CPU, memoria y red en vivo de los contenedores en ejecución.docker stats
Lista los procesos que se ejecutan dentro de un contenedor.docker top web
Transmite en vivo los eventos de Docker del demonio.docker events --filter type=container
Muestra el espacio en disco usado por imágenes, contenedores, volúmenes y caché.docker system df
Muestra la configuración y el estado global de Docker.docker info
Exec y attach
Ejecuta un comando dentro de un contenedor en ejecución.docker exec -it web sh
Acopla tu terminal al proceso principal de un contenedor.docker attach web
Archivos y registro
Copia archivos entre un contenedor y el sistema de archivos local.docker cp web:/app/logs ./logs
Inicia sesión en un registro desde la CLI.docker login
Cierra sesión en un registro.docker logout
Sube una imagen local a un registro.docker push user/app:1.0
Escribe una imagen en un archivo tar.docker save -o app.tar app:1.0
Lee una imagen de un archivo tar.docker load -i app.tar
Escribe el sistema de archivos de un contenedor en un archivo tar.docker export web > web.tar
Crea una imagen a partir de un sistema de archivos tar.docker import web.tar web:snap
Convierte el estado actual de un contenedor en una imagen nueva.docker commit web app:snap
Volúmenes
Crea un volumen con nombre para datos persistentes.docker volume create data
Lista los volúmenes.docker volume ls
Elimina un volumen.docker volume rm data
Redes
Lista las redes.docker network ls
Crea una red para que los contenedores se comuniquen entre sí.docker network create net
Conecta un contenedor en ejecución a una red.docker network connect net web
Compose
Construye, (re)crea y arranca los servicios de compose.yaml; -d los deja corriendo en segundo plano.docker compose up -d
Arranca los servicios y reconstruye antes sus imágenes.docker compose up --build -d
Ejecuta un comando dentro de un contenedor de servicio en ejecución.docker compose exec api sh
Sigue los logs de uno o más servicios.docker compose logs -f api
Lista los contenedores de servicio que gestiona Compose.docker compose ps
Detiene los contenedores de servicio sin eliminarlos.docker compose stop
Reinicia los contenedores de servicio.docker compose restart api
Detiene y elimina contenedores y redes; -v también elimina los volúmenes con nombre.docker compose down
Muestra la configuración final de Compose tras las fusiones y la sustitución de variables.docker compose config
Limpieza
Elimina contenedores detenidos, imágenes colgantes y redes sin uso; -a --volumes también elimina imágenes y volúmenes sin uso.docker system prune -af
Elimina todos los contenedores detenidos.docker container prune
Elimina imágenes sin uso o colgantes.docker image prune -a
Elimina volúmenes que ningún contenedor usa.docker volume prune
Elimina redes que ningún contenedor usa.docker network prune
Elimina las capas de construcción en caché.docker builder prune