Mémo Docker pour la forme ...

Petit rappel sur l'environnement Docker

Docker est une plate-forme logicielle qui permet de concevoir, tester et déployer des applications rapidement. Docker intègre les logiciels dans des unités normalisées appelées conteneurs, qui rassemblent tous les éléments nécessaires à leur fonctionnement, dont les bibliothèques, les outils système, le code et l’environnement d’exécution. Docker est une technologie de virtualisation qui permet de créer, déployer et démarrer des applications facilement en utilisant des conteneurs de logiciels ou services

La documentation des commandes se trouve sur le site officiel de Docker.

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


Commandes générales

  • info : Informations générales sur le serveur Docker
  • inspect : 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 cluster

  • swarm init : Initialise un cluster swarm
  • swarm join : Attache un noeud à un cluster
  • swarm leave : Détache un noeud d’un cluster
  • swarm join-token : Affiche le jeton pour rejoindre un cluster
  • swarm unlock : Déverrouille un manager du cluster (après un redémarrage)
  • swarm unlock-key : Affiche la clé de déverrouillage
  • swarm update : Change les paramètres du cluster


Complétion dans le Shell Bash

Bas peux completer les commandes docker grace a la touche "tab+tab"

docker images "tab tab"