informatique:logiciels:docker
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatique:logiciels:docker [2024/09/17 16:00] – pteu | informatique:logiciels:docker [2025/10/17 09:57] (current) – overlay2 prend trop de place pteu | ||
|---|---|---|---|
| Line 70: | Line 70: | ||
| Action sur les conteneurs | Action sur les conteneurs | ||
| <code bash> | <code bash> | ||
| - | # démarrer arrêter un conteneur | ||
| - | docker start alpine | ||
| - | docker stop alpine | ||
| - | |||
| - | # supprimer un conteneur (-f pour forcer même s'il est en fonctionnement) | ||
| - | docker rm (-f) < | ||
| - | |||
| # lister les conteneurs | # lister les conteneurs | ||
| docker ps | docker ps | ||
| docker container ls | docker container ls | ||
| - | |||
| # pour lister aussi les conteneurs arrêtés | # pour lister aussi les conteneurs arrêtés | ||
| docker ps -a | docker ps -a | ||
| CONTAINER ID | CONTAINER ID | ||
| f8b7c15f443f | f8b7c15f443f | ||
| + | |||
| + | # démarrer arrêter un conteneur | ||
| + | docker start alpine | ||
| + | docker stop alpine | ||
| + | |||
| + | # supprimer un conteneur (-f pour forcer même s'il est en fonctionnement) | ||
| + | docker rm (-f) < | ||
| + | |||
| + | # supprimer les conteneurs non utilisés | ||
| + | docker container prune | ||
| </ | </ | ||
| Line 90: | Line 92: | ||
| =====Images===== | =====Images===== | ||
| - | Ce sont des " | + | Ce sont des " |
| <code bash> | <code bash> | ||
| # lister les images | # lister les images | ||
| docker images | docker images | ||
| - | #(ou docker image ls) | + | #(ou "docker image ls") |
| # télécharger une image | # télécharger une image | ||
| docker pull pihole | docker pull pihole | ||
| + | |||
| + | # supprimer les images inutilisées | ||
| + | docker image prune | ||
| # créer image à partir d'un conteneur | # créer image à partir d'un conteneur | ||
| Line 106: | Line 111: | ||
| docker history < | docker history < | ||
| </ | </ | ||
| + | |||
| =====Registres (d' | =====Registres (d' | ||
| Les " | Les " | ||
| + | |||
| =====Build===== | =====Build===== | ||
| Line 132: | Line 139: | ||
| # lister les réseaux (loopback) créés dans docker | # lister les réseaux (loopback) créés dans docker | ||
| docker network ls | docker network ls | ||
| + | </ | ||
| + | |||
| + | Dans un docker compose, créer un réseau bridgé dont on maitrise l' | ||
| + | <code yaml> | ||
| + | networks: | ||
| + | br-1: | ||
| + | name: pont1 | ||
| + | driver: bridge | ||
| + | ipam: | ||
| + | config: | ||
| + | - subnet: 172.17.17.0/ | ||
| + | gateway: 172.17.17.254 | ||
| + | [..] | ||
| + | services: | ||
| + | myalpine: | ||
| + | image: alpine | ||
| + | container_name: | ||
| + | command: sh | ||
| + | network: | ||
| + | - br-1 | ||
| + | name: pont1 | ||
| + | #external: true # uniquement si le réseau a déjà été créé en dehors compose | ||
| + | ipv4_address: | ||
| + | </ | ||
| + | |||
| + | Pour faire communiquer (basiquement) 2 réseaux docker il faut manipuler l' | ||
| + | <code bash> | ||
| + | iptables -I DOCKER-USER -i br-1 -o br-2 -j ACCEPT | ||
| + | iptables -I DOCKER-USER -i br-2 -o br-2 -j ACCEPT | ||
| </ | </ | ||
| =====Volumes===== | =====Volumes===== | ||
| + | |||
| + | Permet de faire persister les données entre plusieurs lancements de conteneurs, en montant un volume sur le système de fichier de la machine hôte. | ||
| <code bash> | <code bash> | ||
| - | docker volume ls | + | docker volume ls (-a) |
| - | docker volume create monvolume | + | docker volume create |
| - | docker volume rm monvolume | + | docker volume rm <monvolume> |
| + | docker volume prune | ||
| </ | </ | ||
| =====Compose===== | =====Compose===== | ||
| - | docker compose: permet de créer et ordonnancer de multiples conteneurs pour monter un service (site web + BDD + etc) ; il utilise des fichiers yml pour définir le service | + | docker compose: permet de créer et ordonnancer de multiples conteneurs pour monter un "service" |
| <code bash> | <code bash> | ||
| + | docker compose version | ||
| + | |||
| + | docker compose build | ||
| + | |||
| # https:// | # https:// | ||
| mkdir nextcloud && cd nextcloud | mkdir nextcloud && cd nextcloud | ||
| Line 156: | Line 199: | ||
| # afficher les logs | # afficher les logs | ||
| docker-compose logs -f | docker-compose logs -f | ||
| - | # arrêter | + | # arrêter |
| - | docker-compose down | + | docker-compose down (-v) |
| ! | ! | ||
| docker compose pull ? | docker compose pull ? | ||
| Line 230: | Line 273: | ||
| </ | </ | ||
| + | =====Portainer===== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Les confs (notamment les docker-compose à sauvegarder) se trouvent dans : ''/ | ||
| + | |||
| + | Alternative: | ||
| =====Documentations===== | =====Documentations===== | ||
| Line 244: | Line 294: | ||
| * https:// | * https:// | ||
| + | =====Tips===== | ||
| + | |||
| + | ====overlay2 prend trop de place==== | ||
| + | |||
| + | Docker a tendance à prendre de la place, certains conteneurs notamment remplissent le système de fichier et saturent le dossier | ||
| + | |||
| + | <code bash> | ||
| + | df -h | grep -E /$ | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | On peut commencer par supprimer tous les objets inutilisés, | ||
| + | <code bash> | ||
| + | docker system prune | ||
| + | WARNING! This will remove: | ||
| + | - all stopped containers | ||
| + | - all networks not used by at least one container | ||
| + | - all dangling images | ||
| + | - unused build cache | ||
| + | |||
| + | Are you sure you want to continue? [y/N] | ||
| + | </ | ||
| + | |||
| + | Dans mon cas cela fait gagner un peu de place, mais le soucis principal vient d' | ||
| + | <code bash> | ||
| + | du -hs / | ||
| + | 116K / | ||
| + | 248K / | ||
| + | 4,0K / | ||
| + | 2,6M / | ||
| + | 88K / | ||
| + | 23G / | ||
| + | 16K / | ||
| + | 4,0K / | ||
| + | 4,0K / | ||
| + | 4,0K / | ||
| + | 1,3M / | ||
| + | </ | ||
| + | |||
| + | Oui, il fallait faire une partition dédiée pour ''/ | ||
| + | |||
| + | <code bash> | ||
| + | docker system df | ||
| + | TYPE TOTAL | ||
| + | Images | ||
| + | Containers | ||
| + | Local Volumes | ||
| + | Build Cache | ||
| + | |||
| + | docker system df -v | ||
| + | [...] | ||
| + | Images space usage: | ||
| + | |||
| + | REPOSITORY | ||
| + | bbernhard/ | ||
| + | portainer/ | ||
| + | |||
| + | Containers space usage: | ||
| + | |||
| + | CONTAINER ID | ||
| + | 3d15115fdf6f | ||
| + | b94dc74fe700 | ||
| + | </ | ||
| + | |||
| + | 11G c'est trop ; | ||
| + | <code bash> | ||
| + | docker stop 3d15115fdf6f | ||
| + | docker rm -f 3d15115fdf6f | ||
| + | df -h | grep -E /$ | ||
| + | / | ||
| + | |||
| + | # et le recréer: | ||
| + | cd / | ||
| + | docker compose up -d | ||
| + | </ | ||
informatique/logiciels/docker.1726588809.txt.gz · Last modified: 2024/09/17 16:00 by pteu