Skip to content

Cheat Sheet de Docker

Publicación: octubre 2026 — cálculos locales

Cheatsheet de Docker

Busca por código, tarea o categoría en español o inglés. Copia un fragmento y adáptalo al contexto indicado.

Mostrando 61 de 61 comandos

Ejecuta los comandos CLI en un terminal con Docker instalado y su motor disponible. Sustituye los marcadores <…> por tus valores antes de ejecutar. Las instrucciones Dockerfile van en un Dockerfile; los comandos Compose requieren un proyecto Compose. Copiar no ejecuta ningún comando. Lee las notas de los comandos que eliminan datos.

Descargar imagen del registry

Imágenes · Patrón / sintaxis
docker pull <image>

Listar imágenes locales

Imágenes · Patrón / sintaxis
docker images

Eliminar imagen

Imágenes · Patrón / sintaxis
docker rmi <image>

Eliminar imágenes no usadas por ningún contenedor

Imágenes · Patrón / sintaxis
docker image prune -a

Con -a, incluye imágenes etiquetadas sin uso, no solo las colgantes. Revisa qué imágenes necesitas antes de ejecutarlo; conserva las imágenes asociadas a contenedores.

Compilar imagen desde Dockerfile

Imágenes · Patrón / sintaxis
docker build -t name:tag .

Compilar sin cache

Imágenes · Patrón / sintaxis
docker build --no-cache -t name .

Etiquetar imagen

Imágenes · Patrón / sintaxis
docker tag src:latest user/src:1.0

Subir imagen al registry

Imágenes · Patrón / sintaxis
docker push user/image:tag

Mostrar historial de capas

Imágenes · Patrón / sintaxis
docker history <image>

Guardar imagen a tar

Imágenes · Patrón / sintaxis
docker save -o backup.tar image

Cargar imagen desde tar

Imágenes · Patrón / sintaxis
docker load -i backup.tar

Ejecutar contenedor desde imagen

Contenedores · Patrón / sintaxis
docker run <image>

Ejecutar en segundo plano con nombre

Contenedores · Patrón / sintaxis
docker run -d --name web nginx

Ejecutar interactivo con terminal

Contenedores · Patrón / sintaxis
docker run -it ubuntu bash

Mapear puerto host a contenedor

Contenedores · Patrón / sintaxis
docker run -p 8080:80 nginx

Montar directorio host como volumen

Contenedores · Patrón / sintaxis
docker run -v /host:/container image

Auto-eliminar al salir

Contenedores · Patrón / sintaxis
docker run --rm image

Establecer variable de entorno

Contenedores · Patrón / sintaxis
docker run -e KEY=value image

Cargar env desde archivo

Contenedores · Patrón / sintaxis
docker run --env-file .env image

Listar contenedores en ejecución

Contenedores · Patrón / sintaxis
docker ps

Listar todos los contenedores

Contenedores · Patrón / sintaxis
docker ps -a

Detener contenedor en ejecución

Contenedores · Patrón / sintaxis
docker stop <container>

Iniciar contenedor detenido

Contenedores · Patrón / sintaxis
docker start <container>

Reiniciar contenedor

Contenedores · Patrón / sintaxis
docker restart <container>

Eliminar contenedor detenido

Contenedores · Patrón / sintaxis
docker rm <container>

Forzar eliminación

Contenedores · Patrón / sintaxis
docker rm -f <container>

Eliminar todos los contenedores detenidos

Contenedores · Patrón / sintaxis
docker container prune

Abrir shell en contenedor

Contenedores · Patrón / sintaxis
docker exec -it <container> bash

Mostrar logs del contenedor

Contenedores · Patrón / sintaxis
docker logs <container>

Seguir últimas 100 líneas de log

Contenedores · Patrón / sintaxis
docker logs -f --tail 100 <container>

Mostrar info detallada (JSON)

Contenedores · Patrón / sintaxis
docker inspect <container>

Uso de recursos en vivo

Contenedores · Patrón / sintaxis
docker stats

Copiar archivo al contenedor

Contenedores · Patrón / sintaxis
docker cp file container:/path

Imagen base

Dockerfile · Patrón / sintaxis
FROM node:24-alpine

Node.js 24 es una línea LTS admitida en la imagen oficial. Alpine usa musl libc; comprueba la compatibilidad si tus dependencias incluyen módulos nativos.

Establecer directorio de trabajo

Dockerfile · Patrón / sintaxis
WORKDIR /app

Copiar archivos a la imagen

Dockerfile · Patrón / sintaxis
COPY . .

Copiar según patrón

Dockerfile · Patrón / sintaxis
COPY package*.json ./

Ejecutar comando en build

Dockerfile · Patrón / sintaxis
RUN npm install

Si el proyecto incluye package-lock.json, suele convenir npm ci para instalar desde el lockfile; mantén package.json y el lockfile sincronizados.

Establecer variable de entorno

Dockerfile · Patrón / sintaxis
ENV NODE_ENV=production

Documentar puerto de escucha

Dockerfile · Patrón / sintaxis
EXPOSE 3000

Comando por defecto del contenedor

Dockerfile · Patrón / sintaxis
CMD ["node", "server.js"]

Entrypoint fijo

Dockerfile · Patrón / sintaxis
ENTRYPOINT ["/app/start.sh"]

Esta es la forma exec: los argumentos de docker run se pasan al entrypoint. La forma shell se comporta distinto, ignora CMD/argumentos de ejecución y puede impedir que el proceso reciba las señales de parada.

Argumento de build

Dockerfile · Patrón / sintaxis
ARG VERSION=1.0

Cambiar usuario (seguridad)

Dockerfile · Patrón / sintaxis
USER node

Healthcheck del contenedor

Dockerfile · Patrón / sintaxis
HEALTHCHECK CMD curl -f http://localhost/ || exit 1

Solo funciona si la imagen incluye curl y la aplicación responde en esa URL. Usa una ruta de salud y una herramienta disponible en la imagen.

Iniciar servicios de compose

Compose · Patrón / sintaxis
docker compose up

Iniciar en segundo plano

Compose · Patrón / sintaxis
docker compose up -d

Detener y eliminar servicios

Compose · Patrón / sintaxis
docker compose down

Eliminar los volúmenes del proyecto además de los contenedores

Compose · Patrón / sintaxis
docker compose down -v

Elimina los volúmenes nombrados declarados por el proyecto y los anónimos asociados, con sus datos. Conserva los volúmenes externos. Revisa el archivo Compose y haz copia de los datos necesarios antes.

Listar servicios compose

Compose · Patrón / sintaxis
docker compose ps

Seguir logs de un servicio

Compose · Patrón / sintaxis
docker compose logs -f service

Recompilar todos los servicios

Compose · Patrón / sintaxis
docker compose build

Shell en un servicio compose

Compose · Patrón / sintaxis
docker compose exec service bash

Reiniciar un servicio

Compose · Patrón / sintaxis
docker compose restart service

Listar redes

Redes · Patrón / sintaxis
docker network ls

Crear red

Redes · Patrón / sintaxis
docker network create mynet

Conectar contenedor a red

Redes · Patrón / sintaxis
docker run --network mynet image

Listar volúmenes

Redes · Patrón / sintaxis
docker volume ls

Crear volumen con nombre

Redes · Patrón / sintaxis
docker volume create mydata

Eliminar volúmenes anónimos sin uso por defecto

Redes · Patrón / sintaxis
docker volume prune

Por defecto elimina volúmenes locales anónimos sin referencia. Añade -a para incluir los nombrados; cualquiera puede contener datos que aún necesites.

Eliminar contenedores detenidos, redes/imágenes sin uso y caché de compilación

Redes · Patrón / sintaxis
docker system prune -a

-a incluye todas las imágenes sin uso, no solo las colgantes. También elimina contenedores detenidos, redes sin uso y caché de compilación. No incluye volúmenes salvo que añadas --volumes (en ese caso elimina volúmenes anónimos sin uso). Revisa el alcance antes de ejecutarlo.

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

Docker se lanzó en 2013 y sus comandos se usan ampliamente para crear y ejecutar imágenes de contenedores. Esta chuleta cubre más de 60 comandos de imágenes, contenedores, Dockerfile, Compose, redes y volúmenes. Un `COPY . .` antes de instalar dependencias puede invalidar esa capa cada vez que cambian los archivos fuente; Docker vuelve a ejecutar la instalación y las capas posteriores. Copia primero los manifiestos de dependencias, instala y después copia el código de la aplicación. Un bind mount como `-v /host:/container` oculta los archivos que ya había en la ruta del contenedor mientras el montaje está activo. `docker system prune -a` elimina contenedores detenidos, redes sin uso, imágenes sin uso (no solo las colgantes) y caché de compilación; excluye volúmenes salvo que añadas `--volumes`, que elimina volúmenes anónimos sin uso. Comprueba el alcance de la limpieza antes de ejecutarla.

Trampas habituales en Docker

Hay patrones útiles cerca de la cabecera de cualquier Dockerfile. Ordena las instrucciones de menos a más cambiantes para poder reutilizar las primeras capas: imagen base, paquetes del sistema, manifiestos de dependencias (`package*.json`, `requirements.txt`, `go.mod`), la instalación correspondiente y después el código. En proyectos npm con `package-lock.json` versionado, `npm ci` instala desde ese archivo. Con `CMD` en forma exec, el comando y sus argumentos son valores predeterminados que pueden sustituirse al ejecutar el contenedor. Un `ENTRYPOINT` en forma exec fija el ejecutable y recibe los argumentos de ejecución; la forma shell se comporta distinto y puede impedir que el proceso reciba señales de parada. `.dockerignore` mantiene elementos como `node_modules`, `.git` y artefactos fuera del contexto de compilación. `EXPOSE` documenta un puerto a la escucha, pero no lo publica: solo `-p` o `ports:` en Compose lo hacen alcanzable desde el host. La chuleta agrupa estos temas para encontrar rápido la sección adecuada.

  • 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 ·