Mémo d'utilisation de Docker
Mémo utilisation Docker
Rappel de quelques termes
- image : une image est une collection ordonnée de modifications sur un filesystem
- conteneur : un conteneur est le résultat de l’exécution d’une image
Construire une image
docker build <répertoire>
Paramètres utiles
--tag
: permet de donner un nom à l’image, évite qu’elle soit identifiée par un simple nombre hexa--rm=true
: supprime les images intermédiaires à la fin du build
Le répertoire passé en paramètre doit contenir les éléments nécessaires à la contruction de l’image, en particulier le Dockerfile
.
Lister les images
docker images
Paramètres utiles
--all
: liste même les images intermédiaires--digests
: affiche le hash identifiant l’image--quiet
: format court, n’affiche que les ID
On peut passer en plus en paramètre un tag (avec le joker * éventuellement) pour ne lister que les images correspondants à ce tag.
Supprimer une image
docker rmi <ID de l'image>
Pour supprimer toutes les images non utilisées : docker images --quiet | xargs docker rmi
Démarrer un conteneur à partir d’une image
docker run <image>
Paramètres utiles
--env
: fixe une variable d’environnement--name
: définit le nom du conteneur (sinon Docker en assigne un par défaut)--volume <rep hote>:<rep conteneur>
: monte un répertoire dans le filesystem du conteneur-publish <port hote>:<port conteneur>/<tcp|udp>
: publie un port du conteneur sur un port de l’hôte--restart <no|on-failure[:max-retries]|unless-stopped|always>
: définit comment Docker doit redémarrer le conteneur si celui-ci s’arrête--detach
: lance le conteneur en arrière plan--interactive
: garde STDIN ouvert même si le conteneur n’est pas attaché au terminal--tty
: alloue un pseudo tty
Lister les conteneurs
docker ps
-a
: pour voir même les conteneurs arrêtés
Liste des commandes
La documentation des commandes se trouve sur le site officiel de Docker.
Commandes générales
info
: Informations générales sur le serveur Dockerinspect
: Permet d’obtenir des infos sur un objet du serveur (conteneur, image, volume…)version
: Infos de version du serveur
Commandes sur les images
-
build
: Construit une image à partir d’un Dockerfile -
load
: Charge une image à partir d’un fichier d’archive -
save
: Sauve une ou plusieurs images dans un fichier d’archive -
import
: Importe le contenu d’un fichier TAR pour construire le système de fichiers d’une image -
rmi
: Supprime une image -
commit
: Crée une nouvelle image à partir d’un conteneur modifié -
tag
: Crée un tag qui référence une image source -
images
: Liste les images installées localement -
history
: Affiche l’historique des opérations sur une image
Commandes sur les conteneurs
-
create
: Crée un nouveau conteneur (sans le démarrer) -
start
: Démarre un conteneur -
kill
: Tue un conteneur (à éviter, termine violemment les process à l’intérieur) -
stop
: Arrête un conteneur (envoie un signal d’arrêt aux processus contenus) -
pause
: Met les processus d’un conteneur en pause -
unpause
: Sort de pause un conteneur -
restart
: Redémarre un conteneur -
attach
: Attache les entrées/sortie locale à un conteneur en exécution -
diff
: Inspecte les changements sur le système de fichiers d’un conteneur -
logs
: Accès aux logs d’un conteneur -
ps
: Liste les conteneurs en exécution -
port
: Liste les mappages de ports -
stats
: Affiche les statistiques d’un conteneur -
top
: Affiche les processus dans un conteneur -
wait
: Attend la terminaison d’un conteneur -
cp
: Copie des fichiers locaux dans un conteneur -
exec
: Exécute une commande dans un conteneur existant -
export
: Exporte le système de fichiers d’un conteneur dans une archive -
rename
: Renomme un conteneur -
rm
: Supprime un conteneur -
run
: Exécute une commande dans un contneur -
update
: Modifie la configuration d’un conteneur
Commandes sur les registry
-
login
: Se connecte à une registry Docker (par défaut Docker Hub) -
logout
: Se déconnecte de la registry -
search
: Cherche une image -
pull
: Tire une image de la registry pour la rendre disponible localement sur le serveur -
push
: Pousse une imagelocale dans la registry
Commandes sur les volumes
-
volume create
: Crée un volume -
volume rm
: Supprime un volume -
volume prune
: Supprime tous les volumes inutilisés -
volume ls
: Liste le contenu d’un volume -
volume inspect
: Affiche les infos d’un volume
Commandes de gestion du swarm (cluster de serveurs Docker)
swarm ca
: Affiche ou modifie le certificat d’autorité du clusterswarm init
: Initialise un cluster swarmswarm join
: Attache un noeud à un clusterswarm leave
: Détache un noeud d’un clusterswarm join-token
: Affiche le jeton pour rejoindre un clusterswarm unlock
: Déverrouille un manager du cluster (après un redémarrage)swarm unlock-key
: Affiche la clé de déverrouillageswarm update
: Change les paramètres du cluster