Franco Lopez

Papá, Ingeniero y creador.

Cheatsheet: Docker CLI

Algunas notas y referencias para los comandos comunes de Docker, organizados en secciones. Nada especial, simple.


Ejecutar Contenedores

# Ejecutar un contenedor desde una imagen
docker run IMAGE

# Ejecutar y nombrar el contenedor
docker run --name web nginx

# Mapear puertos (host:contenedor)
docker run -p 8080:80 nginx

# Exponer todos los puertos del contenedor
docker run -P nginx

# Ejecutar en modo desapegado (background)
docker run -d nginx

# Asignar un hostname personalizado
docker run --hostname myhost nginx

# Agregar una entrada DNS personalizada
docker run --add-host internal.local:10.0.0.5 nginx

# Montar un directorio local en el contenedor
docker run -v ~/site:/usr/share/nginx/html nginx

# Sobrescribir entrypoint
docker run --entrypoint bash nginx

# Iniciar con una shell interactiva
docker run -it ubuntu bash

Administrar Contenedores

# Ver contenedores en ejecución
docker ps

# Ver todos los contenedores
docker ps -a

# Detener un contenedor
docker stop CONTAINER

# Iniciar un contenedor
docker start CONTAINER

# Reiniciar un contenedor
docker restart CONTAINER

# Eliminar un contenedor
docker rm CONTAINER

# Eliminar forzadamente
docker rm -f CONTAINER

# Eliminar todos los contenedores detenidos
docker container prune

# Renombrar un contenedor
docker rename OLD_NAME NEW_NAME

Copiar Archivos

# Del contenedor al host
docker cp web:/index.html ./index.html

# Del host al contenedor
docker cp ./file.txt web:/data/file.txt

Inspección y Logs

# Ver logs del contenedor
docker logs CONTAINER

# Seguir logs en tiempo real
docker logs -f CONTAINER

# Estadísticas del contenedor
docker stats

# Procesos dentro del contenedor
docker top CONTAINER

# Inspeccionar metadatos de contenedor o imagen
docker inspect nginx

# Mostrar archivos modificados
docker diff CONTAINER

# Ver puertos expuestos
docker port CONTAINER

Comandos en Contenedores

# Ejecutar un comando en un contenedor en ejecución
docker exec CONTAINER COMMAND

# Iniciar una shell interactiva
docker exec -it CONTAINER bash

Administrar Imágenes

# Listar imágenes locales
docker images

# Descargar una imagen
docker pull ubuntu:latest

# Subir una imagen al repositorio
docker push myuser/myimage:tag

# Eliminar una imagen
docker rmi IMAGE

# Eliminar imágenes colgantes (dangling)
docker image prune

# Eliminar imágenes no utilizadas
docker image prune -a

# Construir una imagen desde Dockerfile
docker build -t myimage .

# Etiquetar una imagen
docker tag IMAGE NEW_NAME

# Guardar imagen a archivo tar
docker save nginx > nginx.tar

# Cargar imagen desde archivo tar
docker load -i nginx.tar

Volúmenes en Docker

# Listar volúmenes
docker volume ls

# Crear un volumen
docker volume create mydata

# Inspeccionar un volumen
docker volume inspect mydata

# Eliminar un volumen
docker volume rm mydata

# Eliminar todos los volúmenes no utilizados
docker volume prune

Redes en Docker

# Listar redes
docker network ls

# Crear red tipo bridge
docker network create mynet

# Conectar contenedor a red
docker network connect mynet CONTAINER

# Desconectar contenedor
docker network disconnect mynet CONTAINER

# Inspeccionar red
docker network inspect mynet

Limpieza del Sistema

# Eliminar contenedores, redes e imágenes no usadas (no volúmenes)
docker system prune

# Eliminar todo, incluyendo volúmenes
docker system prune -a --volumes

Esto ha sido útil como referencia rápida en entornos de desarrollo como en producción.

— Franco