113 lines
2.4 KiB
Markdown
113 lines
2.4 KiB
Markdown
<!-- 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*
|