« Docker commandes » : différence entre les versions
Aucun résumé des modifications |
|||
| (17 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
== Inspect Container == | |||
<syntaxhighlight lang="bash" line copy> | |||
docker inspect NOM_DU_CONTAINER | grep -E '(Image|Volumes|Network|"Path"|Status|tmp|HostPort|HostIp|IPAddress|Type|Source|Destination|com.docker.compose.project.working_dir)' | |||
</syntaxhighlight> | |||
== Liste images == | |||
<syntaxhighlight lang="bash" line copy> | |||
docker images | |||
</syntaxhighlight> | |||
== Taille image == | |||
<syntaxhighlight lang="bash" line copy> | |||
docker image inspect mon-image:latest --format='{{.Size}}' | numfmt --to=iec | |||
</syntaxhighlight> | |||
== statistiques globales == | |||
Montre l'espace utilisé par toutes les images, conteneurs et volumes. | |||
<syntaxhighlight lang="bash" line copy> | |||
docker system df | |||
</syntaxhighlight> | |||
== Processus == | |||
- Vérifier les processus détaillés | |||
<syntaxhighlight lang="bash" line> | |||
docker exec -it CONTAINER_NAME ps aux | |||
</syntaxhighlight> | |||
---- | |||
== 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 | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo systemctl start docker | |||
</syntaxhighlight> | |||
- Vérifiez que le démon Docker fonctionne | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo systemctl status docker | |||
</syntaxhighlight> | |||
- Désactivez Docker Desktop au démarrage | |||
<syntaxhighlight lang="bash" line copy> | |||
systemctl --user disable docker-desktop | |||
</syntaxhighlight> | |||
- Forcer Docker CLI à utiliser le socket natif<br /> | |||
Modifiez la variable d’environnement DOCKER_HOST pour pointer vers le socket système : <br /> | |||
(Pour que cela persiste après un redémarrage, ajoutez cette ligne dans ~/.bashrc ou ~/.zshrc.) | |||
<syntaxhighlight lang="bash" line copy> | |||
export DOCKER_HOST=unix:///var/run/docker.sock | |||
</syntaxhighlight> | |||
- Désactiver Docker Desktop (si vous ne l’utilisez plus) | |||
<syntaxhighlight lang="bash" line> | |||
systemctl --user stop docker-desktop | |||
systemctl --user disable docker-desktop | |||
</syntaxhighlight> | |||
== Volumes orphelins == | |||
Lister les volumes inutilisés | |||
<syntaxhighlight lang="bash" line> | |||
docker volume ls -qf dangling=true | |||
</syntaxhighlight> | |||
Les supprimer | |||
<syntaxhighlight lang="bash" line> | |||
docker volume rm $(docker volume ls -qf dangling=true) | |||
</syntaxhighlight> | |||
== Pratiques == | |||
=== Images === | |||
Afficher ID + nom + tag | |||
<syntaxhighlight lang="bash" line copy> | |||
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}" | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
Trier uniquement les images uniques (comme -q) mais avec noms | |||
docker images --format "{{.ID}} {{.Repository}}:{{.Tag}}" | sort -u | |||
</syntaxhighlight> | |||
== Scripts == | |||
=== Docker stop === | |||
Stop et supprime tous les conteneurs | |||
<syntaxhighlight lang="bash" line copy> | |||
#!/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." | |||
</syntaxhighlight> | |||
=== Docker clean === | |||
Stop tous les containers, supprime les images, supprime les volumes | |||
<syntaxhighlight lang="bash" line copy> | |||
#!/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 | |||
</syntaxhighlight> | |||
== Divers == | |||
=== Commandes de base === | |||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
| Ligne 36 : | Ligne 152 : | ||
#affiche les informations détaillées d'un conteneur actif | #affiche les informations détaillées d'un conteneur actif | ||
docker container inspect nom_conteneur | docker container inspect nom_conteneur | ||
</syntaxhighlight> | |||
=== Commandes avec paramètres === | |||
<syntaxhighlight lang="bash" line> | |||
#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 . | |||
</syntaxhighlight> | |||
source : | |||
<html> | |||
<a href="https://discordapp.com/users/284694598888980480"><img src='https://img.shields.io/badge/captnsharky-blue?logo=discord&logoColor=white' /></a> | |||
</html> | |||
[[Catégorie:Docker]] | [[Catégorie:Docker]] | ||
Dernière version du 7 juin 2025 à 23:26
Inspect Container
docker inspect NOM_DU_CONTAINER | grep -E '(Image|Volumes|Network|"Path"|Status|tmp|HostPort|HostIp|IPAddress|Type|Source|Destination|com.docker.compose.project.working_dir)'
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
Processus
- Vérifier les processus détaillés
docker exec -it CONTAINER_NAME ps aux
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
Volumes orphelins
Lister les volumes inutilisés
docker volume ls -qf dangling=true
Les supprimer
docker volume rm $(docker volume ls -qf dangling=true)
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 .