Aller au contenu

« Docker commandes » : différence entre les versions

De Marmits Wiki
Aucun résumé des modifications
 
(8 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 ==
== Liste images ==
<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 16 :
docker system df
docker system df
</syntaxhighlight>
</syntaxhighlight>
== Processus ==
- Vérifier les processus détaillés
<syntaxhighlight lang="bash" line>
docker exec -it CONTAINER_NAME ps aux
</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.
Ligne 33 : Ligne 52 :
systemctl --user disable docker-desktop
systemctl --user disable docker-desktop
</syntaxhighlight>
</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 ==
== Pratiques ==
=== Images ===
=== Images ===

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 .

source :