· 2 min de lecture · #docker #docker-compose · dir: Sysadmin
Aide-mémoire Docker
Mémo récapitulant les commandes usuelles de Docker pour la gestion des images et des conteneurs.
Petit mémo pour lister quelques commandes usuelles de Docker, à retenir.
Ce mémo va être réécrit prochainement
1. Récupérer une image sur le Hub Docker
docker pull <image>:<version>Exemple :
docker pull debian:latest2. Démarrer un conteneur
docker run -it -d --rm -v /absolute/local/path/:/absolute/docker/container/path --name <name> <image-name> <commande>run: créer un conteneur à partir d’une image-it(-i-t) : terminal interactif-d: lancement en arrière-plan--rm: supprimer le conteneur à la fin de l’exécution-v(--volume) : monter un répertoire local dans le conteneur--name: permet de donner un nom au conteneur
On peut aussi utiliser une option pour binder un port pour pouvoir accéder au conteneur depuis le réseau (pour un serveur web par exemple). Exemple avec Nginx :
docker run -it -d --rm -p <local-ip-address>:<local-port>:<container-port>/tcp --name nginx nginx:latest-p: publish pour binder un port
3. Lancer un shell dans le conteneur
docker exec -it <container-name> /bin/shSi présent dans l’image, préférez utiliser /bin/bash à la place de /bin/sh
4. Créer une image depuis un Dockerfile
docker build -t <my-repo-name>/<image-name>:tag <path-to-Dockerfile>-t: pour indiquer le nom de l’image
Exemple :
docker build -t aruileen/my-test:latest ./5. Bonus : Supprimer la liste des images en une commande
Lister les images :
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
a/curl 3 da6649d259c3 12 minutes ago 12.3MB
a/curl 2 fe425784a59b 14 minutes ago 14.2MB
a/curl 1 cd76497d303b 35 minutes ago 10.1MB
alpine latest c1aabb73d233 3 weeks ago 7.33MBContrôler que la commande liste bien les images à supprimer (ici nous souhaitons supprimer toutes les images sauf Alpine) :
$ docker images | awk 'NR>1 && NR<5{print $3}'
da6649d259c3
fe425784a59b
cd76497d303bPuis lancer la commande complète pour supprimer les images listées :
$ docker images | awk 'NR>1 && NR<5{print $3}' | xargs docker rmi
Untagged: a/curl:3
Deleted: sha256:da6649d259c3be7f53d540cae768af71141d9df0c33a44c265a27402fbde06b5
Untagged: a/curl:2
Deleted: sha256:fe425784a59bf8094d37720788a4474216360f02fde61bd7eb2bac0930ac8028
Untagged: a/curl:1
Deleted: sha256:cd76497d303b71a322470dee04b731c9638f9d6785bc15f94c8b22a7c0b638ceVous pouvez aussi utiliser l’outil de Docker pour supprimer les images inutiliser :
docker image prune -a