|
|
|
|
<!-- title: Les containers -->
|
|
|
|
|
|
|
|
|
|
# Docker
|
|
|
|
|
|
|
|
|
|
## docker-compose.yml
|
|
|
|
|
|
|
|
|
|
Concaténation de *docker-compose.yml* :
|
|
|
|
|
|
|
|
|
|
# composition de docker-compose
|
|
|
|
|
# si ficher d'environnement ajouter --env-file submodule/A_SUB_PROJECT/.env
|
|
|
|
|
docker-compose -f submodules/A_SUB_PROJECT/docker-compose.yml config > _tmp_.A.yml
|
|
|
|
|
docker-compose -f submodules/B_SUB_PROJECT/docker-compose.yml config > _tmp_.B.yml
|
|
|
|
|
docker-compose \
|
|
|
|
|
-f _tmp_.A.yml \
|
|
|
|
|
-f _tmp_.B.yml \
|
|
|
|
|
config > docker-compose.yml
|
|
|
|
|
rm _tmp_.*.yml
|
|
|
|
|
|
|
|
|
|
Gérer les *docker-compose.yml* des sous-répertoires comme un seul avec une fonction bash
|
|
|
|
|
|
|
|
|
|
docker-compose ()
|
|
|
|
|
{
|
|
|
|
|
/usr/local/bin/docker-compose $(find -name 'docker-compose*.yml' -type f -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Mettre à jour toutes les images
|
|
|
|
|
|
|
|
|
|
docker compose pull && docker compose up -d
|
|
|
|
|
|
|
|
|
|
## Manipuler les images
|
|
|
|
|
|
|
|
|
|
Construire depuis le répertoire du Dockerfile
|
|
|
|
|
|
|
|
|
|
docker build -t srmail .
|
|
|
|
|
|
|
|
|
|
Lister les images :
|
|
|
|
|
|
|
|
|
|
docker images
|
|
|
|
|
|
|
|
|
|
Supprimer une image :
|
|
|
|
|
|
|
|
|
|
docker rmi <image id>
|
|
|
|
|
|
|
|
|
|
Lister les containers actifs:
|
|
|
|
|
|
|
|
|
|
docker ps
|
|
|
|
|
|
|
|
|
|
Lister tous les containers :
|
|
|
|
|
|
|
|
|
|
docker ps -a
|
|
|
|
|
|
|
|
|
|
Supprimer un container
|
|
|
|
|
|
|
|
|
|
docker rm <container id>
|
|
|
|
|
|
|
|
|
|
Construire et démarrer un container en interactif
|
|
|
|
|
|
|
|
|
|
docker run --name srmail_trunk -ti srmail /bin/bash
|
|
|
|
|
|
|
|
|
|
Démarrer et stopper un container
|
|
|
|
|
|
|
|
|
|
docker start <container id or name>
|
|
|
|
|
docker stop <container id or name>
|
|
|
|
|
|
|
|
|
|
Démarrer et attacher une console
|
|
|
|
|
|
|
|
|
|
docker start srmail_trunk
|
|
|
|
|
docker attach --sig-proxy=false srmail_trunk
|
|
|
|
|
# sortir avec CTRL p + CTRL q
|
|
|
|
|
|
|
|
|
|
Exécuter une commande dans un container
|
|
|
|
|
|
|
|
|
|
docker exec srmail_trunk ps -ef
|
|
|
|
|
docker exec -i -t 665b4a1e17b6 /bin/bash
|
|
|
|
|
|
|
|
|
|
Inspecter le file system d’une image
|
|
|
|
|
|
|
|
|
|
docker run --rm -it 044e1532c690 sh
|
|
|
|
|
|
|
|
|
|
## Publier ses images
|
|
|
|
|
|
|
|
|
|
Après la construction de l'image on peut la publier :
|
|
|
|
|
|
|
|
|
|
docker build -t tcpping .
|
|
|
|
|
|
|
|
|
|
Se connecter à la registry Docker (hub.docker.com)
|
|
|
|
|
|
|
|
|
|
docker login --username=kianby
|
|
|
|
|
|
|
|
|
|
Retrouver l’id de l’image
|
|
|
|
|
|
|
|
|
|
docker images
|
|
|
|
|
|
|
|
|
|
Tagguer l’image et pousser vers Docker Hub
|
|
|
|
|
|
|
|
|
|
docker tag f5a6531f8874 kianby/tcpping
|
|
|
|
|
docker push kianby/tcpping
|
|
|
|
|
|
|
|
|
|
Variation avec une version autre que latest
|
|
|
|
|
|
|
|
|
|
docker tag 87615e686d1f kianby/hugo:0.31.1
|
|
|
|
|
|
|
|
|
|
# Buildah
|
|
|
|
|
|
|
|
|
|
Construire une image depuis une URL
|
|
|
|
|
|
|
|
|
|
buildah build -t www-madyanne:latest github.com/kianby/docker-image-www-madyanne
|
|
|
|
|
|
|
|
|
|
Lister les images
|
|
|
|
|
|
|
|
|
|
buildah images
|
|
|
|
|
|
|
|
|
|
Stockage local dans *~/.local/share/containers*
|