Docker CLI
Pour répertorier les commandes disponibles, exécutez docker
sans paramètres ou exécutez docker help
:
Les commandes de base pour la CLI Docker.
Exécuter des conteneurs
COMMAND |
DESCRIPTION |
docker run IMAGE |
Démarrer un nouveau conteneur |
docker run --name CONTAINER IMAGE |
Démarrez un nouveau conteneur et définissez un nom |
docker run -p HOSTPORT:CONTAINERPORT IMAGE |
Démarrer un nouveau conteneur avec des ports mappés |
docker run -P IMAGE |
Démarrez un nouveau conteneur et mappez tous les ports |
Gestion des conteneurs
COMMAND |
DESCRIPTION |
docker create IMAGE |
Créer un nouveau conteneur |
docker start CONTAINER |
Démarrer un conteneur |
docker stop CONTAINER |
Arrêt gracieux d'un conteneur |
docker kill CONTAINER |
Tuer (SIGKILL) un conteneur |
docker restart CONTAINER |
Arrêter et redémarrer gracieucesement un conteneur |
docker pause CONTAINER |
Suspendre un conteneur |
docker unpause CONTAINER |
Reprendre un conteneur |
docker rm CONTAINER |
Détruire un conteneur |
Gestion des conteneurs en vrac
COMMAND |
DESCRIPTION |
docker stop $(docker ps -q) |
Pour arrêter tous les conteneurs en cours d'exécution |
docker stop $(docker ps -a -q) |
Pour arrêter tous les conteneurs arrêtés et en cours d'exécution |
docker kill $(docker ps -q) |
Pour tuer tous les conteneurs en cours d'exécution |
docker kill $(docker ps -a -q) |
Pour tuer tous les conteneurs arrêtés et en cours d'exécution |
docker restart $(docker ps -q) |
Pour redémarrer tous les conteneurs en cours d'exécution |
docker restart $(docker ps -a -q) |
Pour redémarrer tous les conteneurs arrêtés et en cours d'exécution |
docker rm $(docker ps -q) |
Pour détruire tous les conteneurs en cours d'exécution |
docker rm $(docker ps -a -q) |
Pour détruire tous les conteneurs arrêtés et en cours d'exécution |
docker pause $(docker ps -q) |
Pour suspendre tous les conteneurs en cours d'exécution |
docker pause $(docker ps -a -q) |
Pour suspendre tous les conteneurs arrêtés et en cours d'exécution |
docker start $(docker ps -q) |
Pour démarrer tous les conteneurs en cours d'exécution |
docker start $(docker ps -a -q) |
Pour démarrer tous les conteneurs arrêtés et en cours d'exécution |
docker rm -vf $(docker ps -a -q) |
Pour supprimer tous les conteneurs, y compris ses volumes, utilisez |
docker rmi -f $(docker images -a -q) |
Pour supprimer toutes les images |
docker system prune |
Pour supprimer toutes les images, conteneurs, caches et volumes en suspens et inutilisés |
docker system prune -a |
Pour supprimer toutes les images utilisées et inutilisées |
docker system prune --volumes |
Pour supprimer tous les volumes Docker |
Inspecter les conteneurs
COMMAND |
DESCRIPTION |
docker ps |
Répertorier les conteneurs en cours d'exécution |
docker ps -a |
Répertorier tous les conteneurs, y compris ceux arrêtés |
docker logs CONTAINER |
Afficher une sortie de conteneur |
docker logs -f CONTAINER |
Suivre une sortie de conteneur |
docker top CONTAINER |
Lister les processus exécutés dans un conteneur |
docker diff |
Montrer les différences avec l'image (fichiers modifiés) |
docker inspect |
Afficher les informations d'un conteneur (formaté json) |
Exécuter des commandes
COMMAND |
DESCRIPTION |
docker attach CONTAINER |
Attacher à un conteneur |
docker cp CONTAINER:PATH HOSTPATH |
Copier les fichiers du conteneur |
docker cp HOSTPATH CONTAINER:PATH |
Copier les fichiers dans le conteneur |
docker export CONTAINER |
ExExporter le contenu du conteneur (archive tar) |
docker exec CONTAINER |
Exécuter une commande dans un conteneur |
docker exec -it CONTAINER /bin/bash |
Ouvrez un shell interactif dans un conteneur (il n'y a pas de bash dans certaines images, utilisez /bin/sh) |
docker wait CONTAINER |
Attendez que le conteneur se termine et renvoyez le code de sortie |
Images
COMMAND |
DESCRIPTION |
docker images |
Répertorier toutes les images locales |
docker history IMAGE |
Afficher l'historique des images |
docker inspect IMAGE |
SAfficher les informations (au format JSON) |
docker tag IMAGE TAG |
Marquer/Tagguer une image |
docker commit CONTAINER IMAGE |
Créer une image (à partir d'un conteneur) |
docker import URL |
Créer une image (à partir d'une archive tar) |
docker rmi IMAGE |
Supprimer des images |
docker pull REPO:[TAG] |
Extraire une image/un dépôt d'un registre |
docker push REPO:[TAG] |
Pousser une image/dépôt vers un registre |
docker search TEXT |
Rechercher une image sur le registre officiel |
docker login |
Se connecter à un registre |
docker logout |
Se déconnecter d'un registre |
docker save REPO:[TAG] |
Exporter une image/un dépôt sous forme d'archive tar |
docker load |
Charger des images à partir d'une archive tar |
Volumes
COMMAND |
DESCRIPTION |
docker volume ls |
Lister tous les volumes |
docker volume create VOLUME |
Créer un volume |
docker volume inspect VOLUME |
Afficher les informations (au format JSON) |
docker volume rm VOLUME |
Détruire un volume |
docker volume ls --filter="dangling=true" |
Répertorier tous les volumes en suspens (non référencés par aucun conteneur) |
docker volume prune |
Supprimer tous les volumes (non référencés par aucun conteneur) |
Sauvegarder un conteneur
Sauvegardez les données Docker à partir des volumes du conteneur et regroupez-les dans une archive tarball :
docker run --rm --volumes-from CONTAINER -v $(pwd):/backup busybox tar cvfz /backup/backup.tar CONTAINERPATH
Une sauvegarde automatisée peut également être effectuée par ce playbook Ansible.
La sortie est également un tar (compressé). Le playbook peut également gérer la conservation des sauvegardes.
Les anciennes sauvegardes seront donc automatiquement supprimées.
Pour créer et sauvegarder également la configuration du conteneur lui-même, vous pouvez utiliser « docker-replay » pour cela. Si tu perds
le conteneur entier, vous pouvez le recréer avec l'exportation depuis docker-replay
.
Un didacticiel plus détaillé sur l'utilisation de docker-replay peut être trouvé ici.
Restaurer le conteneur à partir d'une sauvegarde
Restaurez le volume avec une archive tarball :
docker run --rm --volumes-from CONTAINER -v $(pwd):/backup busybox sh -c "cd CONTAINERPATH && tar xvf /backup/backup.tar --strip 1"