Commandes Docker
Commandes Docker complètes et workflows pour la conteneurisation sur toutes les plateformes.
Commandes de base
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 |
Gestion des conteneurs
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 |
Gestion de l'image
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 |
Composez Docker
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 |
Gestion de réseau
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 |
Gestion des volumes
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 |
Flux de travail communs
Développement Flux de travail
# 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
Déploiement de la production
```bash
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 ```_
Débogage des conteneurs
```bash
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 ```_
Meilleures pratiques
Optimisation Dockerfile
- Utiliser des constructions multi-étapes pour réduire la taille de l'image
- Tirer parti du cache de construction en commandant correctement les instructions
- Utiliser des balises d'image de base spécifiques, éviter
latest
- Minimiser le nombre de couches
- Utilisez
.dockerignore
pour exclure les fichiers inutiles
Sécurité
- Exécuter des conteneurs en tant qu'utilisateur non root
- Utiliser des images de base officielles si possible
- Mettre à jour régulièrement les images de base
- Scanner les images pour les vulnérabilités
- Limiter les ressources des conteneurs (CPU, mémoire)
Rendement
- Utiliser des images de base appropriées (alpine pour plus petite taille)
- Optimiser la mise en cache des couches
- Utiliser des contrôles sanitaires pour les contenants
- Surveiller l'utilisation des ressources des conteneurs
- Utiliser les volumes pour les données persistantes
Déploiement de la production
- Utiliser des outils d'orchestration (Docker Swarm, Kubernetes)
- Mettre en œuvre une exploitation et un suivi appropriés
- Utiliser la gestion des secrets pour les données sensibles
- Configuration des sauvegardes automatisées
- Mettre en œuvre des mises à jour mobiles