Afficher la liste des commandes disponibles
docker
Lister les images actuellement installées sur votre Docker
docker images
La liste présente les informations suivantes :
- REPOSITORY : Le nom de l’image.
- TAG : Un indicateur sur la version / branche de l’image, pouvant être « latest ».
- IMAGE ID : L’identifiant unique de l’image.
- CREATED : La date de création de l’image.
- SIZE : La taille de l’image.
Télécharger une image depuis le Docker Hub
En utilisant la commande docker pull suivi du nom de l’image sans indiquer de tag, Docker indiquera alors qu’il récupère l’image ayant le tag latest. On peut ensuite suivre l’état d’avancement du téléchargement puis, une fois terminé, l’identifiant de l’image installé est présenté.
# Commande à exécuter docker pull hello-world # Résultat affiché par Docker Using default tag: latest latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f Status: Downloaded newer image for hello-world:latest docker.io/library/hello-world:latest
Si l’on liste les images on voit bien celle nommée hello-word :
# Commande à exécuter docker images # Résultat affiché par Docker REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 3 months ago 13.3kB
Lancer un conteneur (= une image)
On utilise la commande docker run suivi soit du nom, le repository, soit de l’identifiant de l’image.
# Lancer un conteneur avec son nom docker run hello-world # Lancer un conteneur avec son identifiant docker run feb5d9fea6a5
Lister les conteneurs avec leur état actuel
La commande docker ps permet de lister des conteneurs. Elle doit être suivie d’options pour indiquer ce qu’on souhaite lister. Cela permet notamment de consulter l’état actuel des conteneurs pour savoir lesquels sont actifs.
On constate également un nom en dernière colonne. Il s’agit d’un nom généré aléatoirement par Docker. Il est possible de le modifier avec la commande docker rename.
# Lister les conteneurs actifs docker ps # Lister les conteneurs récemment créés docker ps -l # Lister tous les conteneurs docker ps -a # Exemple de résultat CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9912cc6b14e5 hello-world "/hello" 5 minutes ago Exited (0) 5 minutes ago quirky_swartz
Modifier le nom attribué par Docker aux conteneurs
Par défaut, Docker donne un nom aléatoire aux conteneurs exétués. Pour le modifier on utilise la commande docker rename suivi de l’identifiant du conteneur puis du nouveau nom à lui donner.
docker rename 9912cc6b14e5 hello-world-test
Arrêter un conteneur
On utilise la commande docker stop suivi du nom ou de l’identifiant du conteneur.
docker stop 9912cc6b14e5
Supprimer / stopper un conteneur en cours d’exécution
On utilise la commande docker rm suivi du nom ou de l’identifiant du conteneur. Un conteneur actif ne pourra pas être supprimé sans avoir été d’abord arrêté.
# Stopper un conteneur en cours d'exécution docker rm hello-world-test # On peut confirmer en consultant la liste des conteneurs docker ps -a # Aucun conteneur n'est listé : CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Supprimer une image
On utilise la commande docker rmi suivi du nom ou de l’identifiant de l’image. Attention il n’est pas possible de supprimer une image si un conteneur actif l’utilise.
# Supprimer une image docker rmi hello-world # On peut confirmer en consultant la liste des image docker images # Aucune image n'est listée : REPOSITORY TAG IMAGE ID CREATED SIZE
Faire une build d’une image à partir d’un fichier Dockerfile
Se rendre dans le répertoire qui contient le fichier Dockerfile est exécuter la commande ci-après en remplaçant le nom par le nom à donner à l’image. Le point à la fin indique le répertoire courant.
# Remplacer le nom par le nom à donner à l'image # Le point indique le répertoire courant # docker build -t nom_image .
Lancer une image après l’avoir build à partir d’un Dockerfile et ayant son fichier docker-compose.yml
Une image dont on a réalisé une build à partir d’un fichier Dockerfile et dont on a le fichier docker-compose qui décrit les différents conteneurs la composant peut être lancée avec la commande ci-après, en s’étant au préalable positionné dans le répertoire contenant le fichier docker-compose.yml.
docker-compose up -d
Se connecter via la console à un des conteneur d’une image
Admettons que nous ayons lancé une image composée d’un conteneur Ubuntu, d’un conteneur MySQL etc., il est possible de se connecter à chacun d’eux pour aller consulter des fichiers de logs ou se connecter en ligne de commande à la base de données par exemple. On utilise pour cela la commande docker exec -it <id_conteneur> bash en indiquant l’identifiant du conteneur souhaité.
docker exec -it 0f8c01edf898 bash