Résumé¶
Vous trouverez ici un résumé des commandes usuelles.
Aide¶
docker --help # Liste les commandes docker
docker <commande> --help # Affiche les options associées à <commande>
Gestion des images¶
Récupérer une image:
Par exemple, avec l'image fedora
version 39
:
docker pull fedora:39 # pull l'image depuis docker hub si elle existe; comportement par défaut
docker pull docker.io/fedora:39 # équivalent à ci-dessus, mais registry précisée: docker.io (dockerhub)
docker pull quay.io/fedora/fedora:39 # image équivalente mais télécharger depuis la registry quay.io/fedora
Lister les images et les supprimer:
docker image ls # Liste les images présentes
docker image rm <image-id> # Supprime l'image
docker image rm <image-name>[:tag] # Supprime l'image ou son tag si celle-ci a plusieurs tags
docker image prune -a # Supprime toutes les images inutilisées
Construire une image:
docker build [OPTIONS] -f <file> -t <image-name>[:<tag>] </path/file> # Construit une image à partir d'un fichier nommé <file>
docker build -t <image-name>[:<tag>] . # Commande équivalente lancée dans le répertoire contenant le Dockerfile (si <file>=Dockerfile, l'option -f peut être omise)
docker image tag <image source>[:<tag>] <image source>[:<other tag>] # Ajoute un tag supplémentaire associé à <image source>
docker image tag <image source>[:<tag>] <image target>[:<tag>] # Tag l'image local <image source>[:<tag>] comme <image target>[:<tag>]; permet de nommer l'image différement avec le tag voulu.
Se connecter à une registry et pousser une image dessus:
docker login # Se connecter à la registry Docker Hub
docker login quay.io # Se connecter à une autre registry, ici: quay.io
docker login gitlab-registry.in2p3.fr # Se connecter à une autre registry, ici: gitlab de l'in2p3
docker image push <image-name>[:tag] # Pousse une image sur sur la registry
Visualiser le détail des couches (layers) d'une image:
Gestion des conteneurs¶
Lister les conteneurs:
docker container ls # Liste les conteneurs actifs
docker ps # Équivalent à la commande ci-dessus
docker container ls -a # Liste tous les conteneurs (actifs et inactifs)
docker ps -a # Équivalent à la commande ci-dessus
Créer/lancer et gérer un conteneur:
docker create [OPTIONS] <image-name>[:tag] # Crée un conteneur mais ne le démarre pas
docker run [OPTIONS] <image-name>[:tag] # Crée un conteneur et le démarre; équivaut à un docker create suivi de docker start
docker start <contianer-name_or_id> # Démarre un conteneur
docker stop <contianer-name_or_id> # Arrête un conteneur
docker restart <contianer-name_or_id> # Redémarre un conteneur
Lancer un conteneur avec des options les plus usuelles:
docker run -d --name mycontainer <image-name>[:tag] # Lance un conteneur ayant pour nom "mycontainer" en arrière plan
docker run -it --name mycontainer <image-name>[:tag] # Lance un conteneur ayant pour nom "mycontainer" en mode intéractif
docker run -it --rm <image-name>[:tag] # Lance un conteneur en mode intéractif qui est détruit à la fin
docker run -v </path/on/host>:</path/inside/container> <image-name>[:tag] # Lance un conteneur avec un volume (fichier ou dossier) monté depuis l'hote
docker run -p <port_on_host>:<port_inside_container> <image-name>[:tag] # Lance un conteneur en publiant le port à l'extérieur du conteneur
Supprimer un conteneur:
docker container rm <container-name_or_id> # Supprime le conteneur soit en donnant son nom ou son ID
docker container rm -f <container-name_or_id> # Force la suppression d'un conteneur actif
docker kill <container-namee_or_id> # Tue le docker
Éxecuter une commande dans un conteneur actif:
docker exec mycontainer <commande> # Lance une commande dans le conteneur; <commande> doit existé dans le conteneur
docker exec -it mycontainer bash # Permet d'ouvrir une session bash dans le conteneur; si bash n'est pas disponible, essayer avec sh
Lire la sortie standarde (STDOUT
) et la sortie d'erreur (STDERR
) d'un contneur:
docker logs <container-name_or_id>
docker logs -f <container-name_or_id> # -f (--follow) permet de suivre les logs en temps réels
Gérer le système¶
docker system df # Montre l'utilisation du disque par docker
docker system prune # Supprime les données inutilisées ; à utiliser avec précaution
docker image prune -a # Supprime toutes les images inutilisées
docker rm $(docker ps -a -q) # Supprime tous les conteneurs inutilisés
docker rm -f $(docker ps -a -q) # Supprime TOUS les conteneurs
Authors: