Comandos Docker
"Clase de la hoja"
########################################################################################################################################################################################################################################################## Copiar todos los comandos
■/div titulada
Comandos completos de Docker y flujos de trabajo para la contenedorización en todas las plataformas.
Comandos básicos
Command |
Description |
docker --version |
Show Docker version |
docker info |
Display system-wide information |
docker help |
Show help for Docker commands |
docker images |
List all images |
docker ps |
List running containers |
docker ps -a |
List all containers (running and stopped) |
docker pull <image> |
Pull an image from registry |
docker run <image> |
Run a container from image |
docker stop <container> |
Stop a running container |
docker start <container> |
Start a stopped container |
docker restart <container> |
Restart a container |
docker rm <container> |
Remove a container |
docker rmi <image> |
Remove an image |
Container Management
Command |
Description |
docker run -d <image> |
Run container in detached mode |
docker run -it <image> |
Run container interactively |
docker run -p 8080:80 <image> |
Map port 8080 to container port 80 |
docker run -v /host:/container <image> |
Mount volume |
docker run --name <name> <image> |
Run container with custom name |
docker exec -it <container> bash |
Execute bash in running container |
docker logs <container> |
View container logs |
docker logs -f <container> |
Follow container logs |
docker inspect <container> |
Inspect container details |
docker stats |
Show container resource usage |
docker top <container> |
Show running processes in container |
Gestión de imágenes
Command |
Description |
docker build -t <name> . |
Build image from Dockerfile |
docker build -t <name>:<tag> . |
Build image with tag |
docker tag <image> <new-name> |
Tag an image |
docker push <image> |
Push image to registry |
docker save <image> > file.tar |
Save image to tar file |
docker load < file.tar |
Load image from tar file |
docker history <image> |
Show image history |
docker search <term> |
Search for images in registry |
Docker Compose
Command |
Description |
docker-compose up |
Start services defined in compose file |
docker-compose up -d |
Start services in detached mode |
docker-compose down |
Stop and remove containers |
docker-compose build |
Build or rebuild services |
docker-compose logs |
View logs for all services |
docker-compose ps |
List containers |
docker-compose exec <service> bash |
Execute command in service |
docker-compose pull |
Pull latest images |
docker-compose restart |
Restart services |
Gestión de redes
Command |
Description |
docker network ls |
List networks |
docker network create <name> |
Create a network |
docker network rm <name> |
Remove a network |
docker network inspect <name> |
Inspect network details |
docker run --network <name> <image> |
Run container on specific network |
Gestión del volumen
Command |
Description |
docker volume ls |
List volumes |
docker volume create <name> |
Create a volume |
docker volume rm <name> |
Remove a volume |
docker volume inspect <name> |
Inspect volume details |
docker volume prune |
Remove unused volumes |
Corrientes de trabajo comunes
Development Workflow
# 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 de la 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
Container Debugging
# 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
Buenas prácticas
Optimización de ficheros
- Utilizar construcciones multietapa para reducir el tamaño de la imagen
- Leverage build cache by ordering instructions properly
- Use etiquetas de imagen de base específicas, evite
latest
_
- Minimizar el número de capas
- Use
.dockerignore
_ para excluir archivos innecesarios
Seguridad
- Ejecutar contenedores como usuario no root
- Use imágenes de base oficiales cuando sea posible
- Actualizar regularmente imágenes de base
- Escaneo imágenes para vulnerabilidades
- Limitar los recursos de contenedores (CPU, memoria)
Ejecución
- Use imágenes de base apropiadas (alpinas para menor tamaño)
- Optimize layer caching
- Use cheques de salud para contenedores
- Uso de los contenedores
- Uso de volúmenes para datos persistentes
Despliegue de la producción
- Usa herramientas de orquestación (Docker Swarm, Kubernetes)
- Implementar registros y monitoreo adecuados
- Uso de la gestión de secretos para datos sensibles
- Configurar copias de seguridad automatizadas
- Implementar actualizaciones de rodaje