ATIR – Commandes usuelles de Docker

Voici un aide-mémoire sur les commandes Docker les plus couramment employées.

Affiche la liste de toutes les machines :

$ docker -machine ls  

Accorde 60 secondes pour réunir les instances requises en vue d’un déploiement dans plusieurs nuages :

$ docker-machine ls -t 60  

Énumère les conteneurs actifs :

$ docker ps  

Énumère les conteneurs inactifs :

$ docker ps -a  

Énumère les conteneurs actifs, avec leur taille et l’espace utilisé sur le disque virtuel :

$ docker ps -s  

Donne des précisions sur un conteneur actif (son adresse IP, par exemple) :

docker inspect <friendly-name|container-id>  

Indique le port externe attribué à un port interne. Dans l’exemple, le numéro du port externe est attribué au port interne 6379 :

docker port <friendly-name|container-id> 6379  

Affiche les messages rédigés par le conteneur pour Standard Error (STDERR) ou Standard Out (STDOUT) :

docker logs <friendly-name|container-id>  

Supprime un conteneur inactif :

$ docker rm ‘containername’  

Énumère les images téléchargées :

$ docker images  

Supprime une image :

$ docker rmi imagename  

Indique l’espace disque utilisé par Docker :

$ docker system df  

Indique les événements en temps réel sur le serveur :

$ docker system events  

Affiche les informations sur le système :

$ docker system info  

Supprime les données inutilisées et nettoie l’environnement Docker :

Attention : les ressources inactives seront supprimées!

$ docker system prune  
$ docker system prune -a --volumes 

Exportation des conteneurs Docker avec préservation des couches de dossiers

Les commandes qui suivent permettent d’exporter et d’importer des conteneurs sans destruction des données qu’ils renferment. L’importation ne modifie en rien le répertoire de dossiers. Les annexes des volumes ne seront ni copiées ni sauvegardées, mais il est possible de les y rattacher à nouveau. 

Exporte le conteneur en sauvegardant les données qu’il renferme :

$ docker export --output="latest.tar" containername  

Importe l’image Docker dans une nouvelle image :

$ docker import latest.tar imagename  

Teste l’image comme s’il s’agissait d’un conteneur :

$ docker run --name nameofyourcontainer -d -it imagename /bin/sh  

Se connecte à un conteneur pour vérifier s’il y a des problèmes ou pour en permettre l’adaptation :

$ docker exec -it containername /bin/bash  

Crée un fichier et une image Docker Compose à partir du répertoire avec Dockerfile :

$ docker build -t image-name:versionnumber . 

Démarre l’image qui vient d’être créée sous forme de conteneur avec attribution du port interne 80 au port 80 de l’hôte :

$ docker run -d -p 80:80 image-name:ver