« Docker commandes » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 2 : | Ligne 2 : | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
docker images | docker images | ||
</syntaxhighlight> | |||
== Taille image == | |||
<syntaxhighlight lang="bash" line copy> | |||
docker image inspect mon-image:latest --format='{{.Size}}' | numfmt --to=iec | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== statistiques globales == | == statistiques globales == | ||
| Ligne 8 : | Ligne 12 : | ||
docker system df | docker system df | ||
</syntaxhighlight> | </syntaxhighlight> | ||
---- | |||
== Docker natif == | == Docker natif == | ||
Pour lancer un conteneur Docker sans démarrer Docker Desktop sur Ubuntu, vous devez utiliser le démon Docker directement via la ligne de commande. | Pour lancer un conteneur Docker sans démarrer Docker Desktop sur Ubuntu, vous devez utiliser le démon Docker directement via la ligne de commande. | ||
Version du 1 juin 2025 à 01:44
Liste images
docker images
Taille image
docker image inspect mon-image:latest --format='{{.Size}}' | numfmt --to=iec
statistiques globales
Montre l'espace utilisé par toutes les images, conteneurs et volumes.
docker system df
Docker natif
Pour lancer un conteneur Docker sans démarrer Docker Desktop sur Ubuntu, vous devez utiliser le démon Docker directement via la ligne de commande. - Démarrez le service Docker natif
sudo systemctl start docker
- Vérifiez que le démon Docker fonctionne
sudo systemctl status docker
- Désactivez Docker Desktop au démarrage
systemctl --user disable docker-desktop
- Forcer Docker CLI à utiliser le socket natif
Modifiez la variable d’environnement DOCKER_HOST pour pointer vers le socket système :
(Pour que cela persiste après un redémarrage, ajoutez cette ligne dans ~/.bashrc ou ~/.zshrc.)
export DOCKER_HOST=unix:///var/run/docker.sock
- Désactiver Docker Desktop (si vous ne l’utilisez plus)
systemctl --user stop docker-desktop
systemctl --user disable docker-desktop
Pratiques
Images
Afficher ID + nom + tag
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
Trier uniquement les images uniques (comme -q) mais avec noms
docker images --format "{{.ID}} {{.Repository}}:{{.Tag}}" | sort -u
Scripts
Docker stop
Stop et supprime tous les conteneurs
#!/bin/bash
# Arrêter tous les conteneurs en cours d'exécution
docker stop $(docker ps -q)
# Supprimer tous les conteneurs
docker rm $(docker ps -a -q)
docker system prune -f
echo "Tous les conteneurs ont été supprimés."
Docker clean
Stop tous les containers, supprime les images, supprime les volumes
#!/bin/bash
# Arrêter tous les conteneurs en cours d'exécution
docker stop $(docker ps -q)
# Supprimer tous les conteneurs
docker rm $(docker ps -a -q)
# Supprimer toutes les images
docker rmi $(docker images -q)
# Supprimer tous les volumes
docker volume rm $(docker volume ls -q)
echo "Tous les conteneurs, images et volumes Docker ont été supprimés."
docker system prune -f
Divers
Commandes de base
#liste les conteneurs actifs. Aussi accessible par la commande docker ps [-a]. L'option -a liste aussi l'ensemble des conteneurs inactifs
docker container ls [-a]
#démarre une nouvelle instance d'un conteneur à partir d'une image donnée
docker container run ...image_de_base...
#crée un conteneur basé sur une image donnée sans le démarrer
docker container create ...image_de_base...
#stoppe un conteneur actif
docker container stop nom_conteneur
#démarre un conteneur inactif
docker container start nom_conteneur
#attache les entrées et sorties standards locales à un conteneur actif
docker container attach nom_conteneur
#exécute une commande dans un conteneur actif
docker container exec nom_conteneur commande
#supprime un conteneur inactif
docker container rm nom_conteneur
#supprime tous les conteneurs inactifs
docker container prune
#affiche les logs d'un conteneur actif
docker container logs [-f] nom_conteneur
#affiche les statistiques d'un conteneur actif
docker container stats nom_conteneur
#affiche les informations détaillées d'un conteneur actif
docker container inspect nom_conteneur
Commandes avec paramètres
#la commande pour my-mariadb va créer un répertoire par défaut (on ne peut pas le spécifier nous même)
docker run --name my-mariadb --detach --env MYSQL_ROOT_PASSWORD=root --network db-network -v /var/lib/mysql mariadb
docker run --network db-network --detach --publish 7080:8080 adminer
#permet de créer l'image de contacts_nginx_prod
docker build --target contacts_nginx_prod -t $USER/demo-contacts-web:1.0.0 .