Skip to content

Cheat Sheet de Docker

Última verificación mayo 2026 — corre en tu navegador
Cheatsheet de Docker
docker pull <image>

Descargar imagen del registry

Imágenes
docker images

Listar imágenes locales

Imágenes
docker rmi <image>

Eliminar imagen

Imágenes
docker image prune -a

Eliminar todas las imágenes sin usar

Imágenes
docker build -t name:tag .

Compilar imagen desde Dockerfile

Imágenes
docker build --no-cache -t name .

Compilar sin cache

Imágenes
docker tag src:latest user/src:1.0

Etiquetar imagen

Imágenes
docker push user/image:tag

Subir imagen al registry

Imágenes
docker history <image>

Mostrar historial de capas

Imágenes
docker save -o backup.tar image

Guardar imagen a tar

Imágenes
docker load -i backup.tar

Cargar imagen desde tar

Imágenes
docker run <image>

Ejecutar contenedor desde imagen

Contenedores
docker run -d --name web nginx

Ejecutar en segundo plano con nombre

Contenedores
docker run -it ubuntu bash

Ejecutar interactivo con terminal

Contenedores
docker run -p 8080:80 nginx

Mapear puerto host a contenedor

Contenedores
docker run -v /host:/container image

Montar directorio host como volumen

Contenedores
docker run --rm image

Auto-eliminar al salir

Contenedores
docker run -e KEY=value image

Establecer variable de entorno

Contenedores
docker run --env-file .env image

Cargar env desde archivo

Contenedores
docker ps

Listar contenedores en ejecución

Contenedores
docker ps -a

Listar todos los contenedores

Contenedores
docker stop <container>

Detener contenedor en ejecución

Contenedores
docker start <container>

Iniciar contenedor detenido

Contenedores
docker restart <container>

Reiniciar contenedor

Contenedores
docker rm <container>

Eliminar contenedor detenido

Contenedores
docker rm -f <container>

Forzar eliminación

Contenedores
docker container prune

Eliminar todos los contenedores detenidos

Contenedores
docker exec -it <container> bash

Abrir shell en contenedor

Contenedores
docker logs <container>

Mostrar logs del contenedor

Contenedores
docker logs -f --tail 100 <container>

Seguir últimas 100 líneas de log

Contenedores
docker inspect <container>

Mostrar info detallada (JSON)

Contenedores
docker stats

Uso de recursos en vivo

Contenedores
docker cp file container:/path

Copiar archivo al contenedor

Contenedores
FROM node:20-alpine

Imagen base

Dockerfile
WORKDIR /app

Establecer directorio de trabajo

Dockerfile
COPY . .

Copiar archivos a la imagen

Dockerfile
COPY package*.json ./

Copiar según patrón

Dockerfile
RUN npm install

Ejecutar comando en build

Dockerfile
ENV NODE_ENV=production

Establecer variable de entorno

Dockerfile
EXPOSE 3000

Documentar puerto de escucha

Dockerfile
CMD ["node", "server.js"]

Comando por defecto del contenedor

Dockerfile
ENTRYPOINT ["/app/start.sh"]

Entrypoint fijo

Dockerfile
ARG VERSION=1.0

Argumento de build

Dockerfile
USER node

Cambiar usuario (seguridad)

Dockerfile
HEALTHCHECK CMD curl -f http://localhost/ || exit 1

Healthcheck del contenedor

Dockerfile
docker compose up

Iniciar servicios de compose

Compose
docker compose up -d

Iniciar en segundo plano

Compose
docker compose down

Detener y eliminar servicios

Compose
docker compose down -v

Detener y eliminar también volumes

Compose
docker compose ps

Listar servicios compose

Compose
docker compose logs -f service

Seguir logs de un servicio

Compose
docker compose build

Recompilar todos los servicios

Compose
docker compose exec service bash

Shell en un servicio compose

Compose
docker compose restart service

Reiniciar un servicio

Compose
docker network ls

Listar redes

Redes
docker network create mynet

Crear red

Redes
docker run --network mynet image

Conectar contenedor a red

Redes
docker volume ls

Listar volúmenes

Redes
docker volume create mydata

Crear volumen con nombre

Redes
docker volume prune

Eliminar volúmenes sin usar

Redes
docker system prune -a

Eliminar todos los datos sin usar (cuidado)

Redes
Mostrando 61 de 61 comandos

Cheat Sheet de Docker — Contenedores, Imágenes, Compose, Volúmenes y Redes

Docker salió en 2013 y convirtió los contenedores de una curiosidad del kernel Linux en la forma por defecto de empaquetar software de servidor. La chuleta de abajo cubre 60+ comandos en imágenes, contenedores, instrucciones de Dockerfile, Compose, redes y volúmenes. La mayoría de los líos con Docker no vienen de olvidar comandos. Vienen de rarezas que parecen normales hasta que muerden. Un `COPY . .` antes de `RUN npm install` invalida la capa cacheada del install en cada cambio de fuente, y un rebuild de 5 s pasa a 5 min — el arreglo es `COPY package*.json ./` y ejecutar el install antes de copiar el resto. Un bind mount con `-v /host:/container` oculta lo que la imagen cocía en esa ruta, por eso una imagen recién construida aparece vacía en dev. `docker system prune -a` elimina todas las imágenes no usadas por un contenedor en marcha, no únicamente las dangling, así que la imagen de un contenedor parado se va con él. Estos son los fragmentos consultados al depurar eso: el orden de `COPY`, la bandera de servicio en Compose, el log tail correcto, sin releer la documentación desde la primera página.

Trampas habituales en Docker

Hay un puñado de patrones que merecen sitio cerca de la cabecera de cualquier Dockerfile. Conviene ordenar las instrucciones de menos a más cambiantes para que la caché de build se mantenga caliente: imagen base, paquetes del sistema, manifiestos de dependencias (`package*.json`, `requirements.txt`, `go.mod`), `RUN install`, y solo después el código de la aplicación. `CMD` y `ENTRYPOINT` parecen similares pero difieren en runtime: `CMD` es el comando por defecto y queda sustituido por lo que se pase tras `docker run image`, mientras que `ENTRYPOINT` es fijo y los argumentos pasan a ser sus parámetros, que es lo que casi todas las imágenes productivas quieren. Un `.dockerignore` en el contexto de build evita que `node_modules`, `.git` y los artefactos de build acaben copiándose en cada capa; sin él, la imagen se hincha y la invalidación de caché se vuelve impredecible. `EXPOSE` documenta el puerto a la escucha pero no lo publica — solo `-p` o el `ports:` de Compose hacen que el puerto sea alcanzable desde el host. La chuleta agrupa todo esto en Imágenes, Contenedores, Dockerfile, Compose y Redes para que la sección adecuada esté a un clic.

  • Más de 60 comandos de Docker
  • Gestión de imágenes (pull, build, push, tag)
  • Ciclo de vida (run, exec, logs, stats)
  • Referencia de instrucciones Dockerfile
  • Comandos de docker compose
  • Redes y volúmenes

Gratis. Sin registro. Tus datos permanecen en tu navegador. Anuncios mediante Google AdSense (con consentimiento).

Por ·