Saltar a contenido

Guía de Referencia de Comandos Docker

Visión General

Esta guía completa cubre los comandos de Docker desde el uso básico hasta el avanzado, incluyendo gestión de contenedores, redes, volúmenes y operaciones de Docker Swarm.

Comandos Básicos

Información del Sistema

# Verificar la versión de Docker
docker --version

# Mostrar información detallada del sistema
docker info

# Mostrar la versión del cliente y servidor Docker
docker version

# Obtener ayuda sobre los comandos de Docker
docker help

Gestión de Imágenes

Operaciones Básicas con Imágenes

# Construir una imagen
docker build -t <nombre_imagen> <ruta_dockerfile>

# Descargar una imagen del registro
docker pull <nombre_imagen>

# Subir una imagen al registro
docker push <nombre_imagen>

# Listar imágenes locales
docker images

# Eliminar una imagen
docker rmi <nombre_imagen>

# Etiquetar una imagen
docker tag <nombre_imagen> <repositorio>/<nombre_imagen>

Operaciones Avanzadas con Imágenes

# Construir sin usar caché
docker build --no-cache -t <nombre_imagen> <ruta_dockerfile>

# Construir con argumentos de construcción
docker build --build-arg <nombre_variable>=<valor> -t <nombre_imagen> <ruta_dockerfile>

# Ver historial de una imagen
docker history <nombre_imagen>

# Exportar sistema de archivos de un contenedor
docker export <nombre_contenedor> > <archivo.tar>

# Importar sistema de archivos
docker import <archivo.tar>

# Guardar imagen en archivo tar
docker save -o <archivo.tar> <nombre_imagen>

# Cargar imagen desde archivo tar
docker load -i <archivo.tar>

Gestión de Contenedores

Operaciones Básicas con Contenedores

# Ejecutar un contenedor
docker run [opciones] <nombre_imagen>

Opciones comunes:
-d                    # Modo desconectado (segundo plano)
-p <host>:<cont>      # Mapeo de puertos
--name <nombre>       # Asignar nombre al contenedor
-v <host>:<cont>      # Montar volumen
--network <red>       # Conectar a una red
-e VARIABLE=valor     # Establecer variable de entorno

Administración de Contenedores

# Listar contenedores en ejecución
docker ps

# Listar todos los contenedores
docker ps -a

# Detener un contenedor
docker stop <nombre_contenedor>

# Iniciar un contenedor
docker start <nombre_contenedor>

# Reiniciar un contenedor
docker restart <nombre_contenedor>

# Eliminar un contenedor
docker rm <nombre_contenedor>

# Ejecutar comando en un contenedor
docker exec -it <nombre_contenedor> <comando>

# Ver logs del contenedor
docker logs <nombre_contenedor>

Redes

Gestión de Redes Docker

# Listar redes
docker network ls

# Crear una red
docker network create <nombre_red>

# Inspeccionar una red
docker network inspect <nombre_red>

# Conectar contenedor a una red
docker network connect <nombre_red> <nombre_contenedor>

# Desconectar contenedor de una red
docker network disconnect <nombre_red> <nombre_contenedor>

Volúmenes

Gestión de Volúmenes

# Listar volúmenes
docker volume ls

# Crear volumen
docker volume create <nombre_volumen>

# Inspeccionar volumen
docker volume inspect <nombre_volumen>

# Eliminar volumen
docker volume rm <nombre_volumen>

Docker Compose

Operaciones con Docker Compose

# Iniciar servicios
docker-compose up

# Iniciar servicios en segundo plano
docker-compose up -d

# Detener y eliminar servicios
docker-compose down

# Construir servicios
docker-compose build

# Ver logs de servicios
docker-compose logs

# Ejecutar comando en un servicio
docker-compose exec <servicio> <comando>

Administración del Sistema

Mantenimiento y Monitoreo

# Ver uso de disco
docker system df

# Limpiar recursos no utilizados
docker system prune

# Monitorear recursos en tiempo real
docker stats

# Inspeccionar contenedor o imagen
docker inspect <nombre>

# Ver eventos del sistema Docker
docker events

Docker Swarm

Gestión de Clúster

# Inicializar swarm
docker swarm init

# Unirse a un swarm
docker swarm join --token <token> <ip_manager>:<puerto>

# Crear un servicio
docker service create --name <nombre_servicio> <imagen>

# Escalar un servicio
docker service scale <nombre_servicio>=<número_instancias>

# Desplegar stack
docker stack deploy -c <archivo_compose> <nombre_stack>

# Eliminar stack
docker stack rm <nombre_stack>

Comandos Avanzados

Operaciones Especializadas

# Copiar archivos al contenedor
docker cp <ruta_local> <nombre_contenedor>:<ruta_destino>

# Copiar archivos desde el contenedor
docker cp <nombre_contenedor>:<ruta_origen> <ruta_local>

# Pausar contenedor
docker pause <nombre_contenedor>

# Reanudar contenedor
docker unpause <nombre_contenedor>

# Esperar a que termine un contenedor
docker wait <nombre_contenedor>