cli-tool
containerization
cross-platform
development
devops
intermediate
Comandos de Docker
📋 Copy All Commands
📄 Generate PDF
Comandos y flujos de trabajo completos de Docker para contenerización en todas las plataformas.
Comandos Básicos
Comando
Descripción
docker --version
Mostrar versión de Docker
docker info
Mostrar información del sistema
docker help
Mostrar ayuda para comandos de Docker
docker images
Listar todas las imágenes
docker ps
Listar contenedores en ejecución
docker ps -a
Listar todos los contenedores (en ejecución y detenidos)
docker pull <image>
Extraer una imagen del registro
docker run <image>
Ejecutar un contenedor desde una imagen
docker stop <container>
Detener un contenedor en ejecución
docker start <container>
Iniciar un contenedor detenido
docker restart <container>
Reiniciar un contenedor
docker rm <container>
Eliminar un contenedor
docker rmi <image>
Eliminar una imagen
## Gestión de Contenedores
Comando
Descripción
docker run -d <image>
Ejecutar contenedor en modo separado
docker run -it <image>
Ejecutar contenedor de forma interactiva
docker run -p 8080:80 <image>
Mapear el puerto 8080 al puerto del contenedor 80
docker run -v /host:/container <image>
Montar volumen
docker run --name <name> <image>
Ejecutar contenedor con nombre personalizado
docker exec -it <container> bash
Ejecutar bash en contenedor en ejecución
docker logs <container>
Ver registros de contenedor
docker logs -f <container>
Seguir registros de contenedores
docker inspect <container>
Inspeccionar detalles del contenedor
docker stats
Mostrar uso de recursos de contenedor
docker top <container>
Mostrar procesos en ejecución en el contenedor
## Gestión de Imágenes
Comando
Descripción
docker build -t <name> .
Construir imagen desde Dockerfile
docker build -t <name>:<tag> .
Construir imagen con etiqueta
docker tag <image> <new-name>
Etiquetar una imagen
docker push <image>
Enviar imagen al registro
docker save <image> > file.tar
Guardar imagen en archivo tar
docker load < file.tar
Cargar imagen desde archivo tar
docker history <image>
Mostrar historial de imágenes
docker search <term>
Buscar imágenes en registry
## Docker Compose
Comando
Descripción
docker-compose up
Iniciar servicios definidos en el archivo compose
docker-compose up -d
Iniciar servicios en modo separado
docker-compose down
Detener y eliminar contenedores
docker-compose build
Construir o reconstruir servicios
docker-compose logs
Ver logs de todos los servicios
docker-compose ps
Listar contenedores
docker-compose exec <service> bash
Ejecutar comando en servicio
docker-compose pull
Extraer últimas imágenes
docker-compose restart
Reiniciar servicios
## Gestión de Redes
Comando
Descripción
docker network ls
Listar redes
docker network create <name>
Crear una red
docker network rm <name>
Eliminar una red
docker network inspect <name>
Inspeccionar detalles de red
docker run --network <name> <image>
Ejecutar contenedor en red específica
## Gestión de Volúmenes
Command
Description
docker volume ls
Listar volúmenes
docker volume create <name>
Crear un volumen
docker volume rm <name>
Eliminar un volumen
docker volume inspect <name>
Inspeccionar detalles de volumen
docker volume prune
Eliminar volúmenes no utilizados
## Flujos de Trabajo Comunes
Flujo de Trabajo de Desarrollo
# Build and run application
docker build -t myapp .
docker run -p 3000 :3000 myapp
# Development with volume mounting
docker run -p 3000 :3000 -v $( pwd ) :/app myapp
# Using Docker Compose for development
docker-compose up --build
Despliegue en Producción
# Build production image
docker build -t myapp:prod .
# Tag for registry
docker tag myapp:prod registry.com/myapp:latest
# Push to registry
docker push registry.com/myapp:latest
# Deploy on production server
docker pull registry.com/myapp:latest
docker run -d -p 80 :3000 --name myapp-prod registry.com/myapp:latest
Depuración de Contenedores
# Check container logs
docker logs -f container-name
# Execute shell in running container
docker exec -it container-name bash
# Inspect container configuration
docker inspect container-name
# Check resource usage
docker stats container-name
Mejores Prácticas
Optimización de Dockerfile
Usar compilaciones multi-etapa para reducir el tamaño de la imagen
Aprovechar la caché de compilación ordenando las instrucciones correctamente
Usar etiquetas de imagen base específicas, evitarlatest
Minimizar el número de capas
Usar.dockerignorepara excluir archivos innecesarios
Seguridad
Ejecutar contenedores como usuario sin root
Usar imágenes base oficiales cuando sea posible
Actualizar regularmente las imágenes base
Escanear imágenes en busca de vulnerabilidades
Limitar recursos de contenedores (CPU, memoria)
Rendimiento
Usar imágenes base apropiadas (alpine para menor tamaño)
Optimizar el almacenamiento en caché de capas
Usar comprobaciones de salud para contenedores
Monitorear el uso de recursos de contenedores
Usar volúmenes para datos persistentes
Despliegue en Producción
Usar herramientas de orquestación (Docker Swarm, Kubernetes)
Implementar registro y monitoreo adecuados
Usar gestión de secretos para datos sensibles
Configurar copias de seguridad automatizadas
Implementar actualizaciones graduales