Lancer un container(test) et le parcourir en ligne de commande
docker run -it test:latest /bin/sh
Créer un container basé sur l’image alpine ayant le nom test
docker container run -ti --name test alpine
Lancer le container test en interactif
docker container run -ti test
Start un container déjà créé et en mode interactif
docker start --attach test
Stopper tous les containers
docker container stop $(docker container ls -aq)
Effacer tous les containers
UNIX
docker container rm $(docker container ls -aq)
Windows
FOR /f "tokens=*" %i IN ('docker ps -aq') DO docker rm %i
Effacer toutes les images
UNIX
docker image rm $(docker image ls -q)
Windows
FOR /f "tokens=*" %i IN ('docker images --format "{{.ID}}"') DO docker rmi %i
Exemple création dockerfile
image de base: ubuntu:16.04
– Installation de l’utilitaire ping. Assurez-vous de mettre à jour la liste des dépots (apt-get update) et également d’utiliser l’option -y lors de l’installation du package iputils-ping (apt-get install -y iputils-ping)
– instruction ENTRYPOINT définie comme étant la commande ping
– instruction CMD définie par l’adresse IP 8.8.8.8 correspondant à un serveur DNS de Google
FROM ubuntu:16.04 RUN apt-get update -y && apt-get install -y iputils-ping ENTRYPOINT ["ping"] CMD ["8.8.8.8"]
Exemple inspect filtre
docker image inspect --format '{{ json .ContainerConfig.ExposedPorts }}' mongo:3.6 | jq . { "27017/tcp": {} }
ou
docker image inspect -f {{.Architecture}} mongo:3.
Sauvegarder un container dans un tar
docker save -o mongo-3.6.tar mongo:3.6
Load une image depuis un tar
docker load < fichier.tar
Pour spécifier un volume lors de la création du container (sans modifier le dockerfile)
docker container run -V
Rentrer dans un container
docker exec -t -i container_name /bin/bash
Retrouvez un fichier créé dans un container sur la machine host (attention si le container est effacé le fichier est aussi effacé)
/var/lib/docker/overlay2/a9b7280de86534c729af781f00c2e7b3fbec5459fd5b1ec005bdfa060a8a9104/diff
Astuce pour retrouvez ou les fichiers sont créé faire un inspect de l’image et regarder la clé upperDir
Docker container inspect c1
"GraphDriver": { "Data": { "LowerDir": "/var/lib/docker/overlay2/a9b7280de86534c729af781f00c2e7b3fbec5459fd5b1ec005bdfa060a8a9104-init/diff:/var/lib/docker/overlay2/73a723c4b7e8564eabb367dfc6013caefabd55dc939381d9bd3f3a091e5572de/diff", "MergedDir": "/var/lib/docker/overlay2/a9b7280de86534c729af781f00c2e7b3fbec5459fd5b1ec005bdfa060a8a9104/merged", "UpperDir": "/var/lib/docker/overlay2/a9b7280de86534c729af781f00c2e7b3fbec5459fd5b1ec005bdfa060a8a9104/diff", "WorkDir": "/var/lib/docker/overlay2/a9b7280de86534c729af781f00c2e7b3fbec5459fd5b1ec005bdfa060a8a9104/work" }, "Name": "overlay2" },