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