Skip to content

Aide-mémoire des commandes Docker

Docker est un moteur de conteneurs d’applications open source qui permet aux développeurs de packager leurs applications et leurs dépendances dans une image portable, qui peut ensuite être déployée sur n’importe quelle machine Linux ou Windows populaire ; la virtualisation peut également être réalisée. Les conteneurs utilisent entièrement un mécanisme de bac à sable (sandbox) et n’ont aucune interface entre eux.

Utilisation générale

Démarrer un conteneur en arrière-plan

docker run -d jenkins

Démarrer un conteneur interactif

docker run -it ubuntu bash

Démarrer un conteneur qui est automatiquement supprimé à l’arrêt

docker run --rm ubuntu bash 

Démarrer un conteneur avec mappage de ports

docker run -p 80:80 -d nginx 

Démarrer un conteneur nommé

docker run --name mydb redis 

Démarrer un conteneur arrêté

docker start mydb 

Arrêter un conteneur

docker stop mydb

Démarrer un conteneur et ajouter des métadonnées

docker run -d \ label=traefik.backend=jenkins jenkins

Construire des images (Build Images)

Construire une image à partir d’un Dockerfile dans le répertoire courant

docker build --tag myimage . 

Forcer la reconstruction d’une image

docker build --no-cache . 

Valider les changements d’un conteneur en une image (Commit)

docker commit c7337 myimage 

Supprimer toutes les images inutilisées

docker rmi $(docker images -q -f "dangling=true")

Débogage (Debug)

Se connecter à un conteneur en cours d’exécution

docker exec -it c7337 docker

Afficher les journaux d’activité d’un conteneur démon en cours d’exécution

docker logs -f c7337

Afficher les ports exposés d’un conteneur

docker port c7337

Volumes

Créer un volume local

docker volume create --name myvol 

Monter un volume au démarrage du conteneur

docker run -v myvol:/data redis

Détruire un volume

docker volume rm myvol 

Lister tous les volumes

docker volume ls

Créer un réseau local

docker network create mynet 

Connecter un conteneur au réseau lors du démarrage

docker run -d --net mynet redis

Connecter un conteneur à un réseau spécifique

docker network connect mynet c7337 

Déconnecter un conteneur d’un réseau

docker network disconnect mynet c7337

Gestion des conteneurs

Lister les conteneurs en cours d’exécution

docker ps

Lister tous les conteneurs (y compris ceux en cours d’exécution et arrêtés)

docker ps -a

Inspecter les métadonnées d’un conteneur

docker inspect c7337

Lister toutes les images disponibles localement

docker images

Supprimer tous les conteneurs arrêtés

docker rm $(docker ps --filter status=exited -q) 

Lister tous les conteneurs ayant un label spécifique

docker ps --filter label=traefik.backend

Interroger un conteneur en cours d’exécution avec des métadonnées spécifiques

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

Description

Nom de l’image

redis, jenkins, nginx

Nom du conteneur ou ID de commit

mydb  # nom du conteneur 
c7337 # ID de commit