Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
technique:docker [2020/10/27 03:45] – francoisa | technique:docker [2024/03/06 15:52] – francoisa | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
Docker est un système de virtualisation proche du sysème hote (s'il est similaire). Il permet de partager des ressources et de moins solliciter le système. | Docker est un système de virtualisation proche du sysème hote (s'il est similaire). Il permet de partager des ressources et de moins solliciter le système. | ||
Ligne 5: | Ligne 5: | ||
Quelques sources : | Quelques sources : | ||
- | * https:// | + | * [[https:// |
* [[https:// | * [[https:// | ||
* Un serveur web docker : [[https:// | * Un serveur web docker : [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * Docker dans LXC : [[https:// | ||
+ | * chaine Xavki sur docker (+docker-compose pas loin) [[https:// | ||
+ | * serie d' | ||
+ | |||
+ | ===== Schéma conteneur et virtualisation ===== | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | ===== ===== | ||
===== Installation ===== | ===== Installation ===== | ||
Ligne 18: | Ligne 27: | ||
< | < | ||
- | sudo apt install docker.io | + | sudo apt install docker |
</ | </ | ||
+ | |||
+ | Mais dans doute le paquet docker-ce dispo dans les repos est-il plus pertinent ? | ||
Mettre l' | Mettre l' | ||
Ligne 28: | Ligne 39: | ||
</ | </ | ||
+ | |||
+ | Install de docker via ansible dans le role setup_machine : [[https:// | ||
===== Principe de fonctionnement ===== | ===== Principe de fonctionnement ===== | ||
Ligne 160: | Ligne 173: | ||
* **USER** | * **USER** | ||
RUN , CMD ou ENTRYPOINT (par défaut c'est l' | RUN , CMD ou ENTRYPOINT (par défaut c'est l' | ||
+ | |||
+ | Un outil pour explorer les couches d'une image Docker : [[https:// | ||
===== Les volumes ===== | ===== Les volumes ===== | ||
Ligne 206: | Ligne 221: | ||
'' | '' | ||
+ | |||
+ | ===== log via journald ===== | ||
+ | |||
+ | Actifs sur toutes nos machines. Pour que les logs docker arrivent dans journald, ce qui permet une persistence, | ||
+ | < | ||
+ | |||
+ | { | ||
+ | " | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | Ensuite, si on veut filtrer, plusieurs options : | ||
+ | |||
+ | * sur le nom du conteneur : '' | ||
+ | * sur l'ID court de conteneur : '' | ||
+ | |||
+ | Plus d' | ||
+ | |||
+ | On peut bien sur combiner avec d' | ||
+ | < | ||
+ | |||
+ | journalctl CONTAINER_NAME=scribe-scribe-1 -b -1 # Pour le dernier boot uniquement | ||
+ | journalctl CONTAINER_NAME=scribe-scribe-1 --since yesterday # Pour les logs depuis hier | ||
+ | journalctl CONTAINER_NAME=scribe-scribe-1 CONTAINER_NAME=scribe-dmp-server-1 #Pour avoir les logs de plusieurs containers d'un coup | ||
+ | |||
+ | </ | ||
+ | === Cas particulier sous PVE === | ||
+ | |||
+ | Penser à activer le keyctl=1 pour docker | ||
+ | |||
+ | En cas de disque saturé, docker peut renvoyer des trucs bizarres sur des fichiers qu'il croit encore existants : | ||
+ | |||
+ | < | ||
+ | systemctl stop docker && rm -Rf / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Et patienter avant de relancer un build... | ||
+ | |||
+ | ===== Purge ===== | ||
+ | |||
+ | Les usages mutliples de docker génèrent des fichiers liés au volume, au réseau au cache. Ce qui représente à la longue un espace conséquent dans / | ||
+ | |||
+ | Un nettoyage complet peut s' | ||
+ | |||
+ | < | ||
+ | docker system prune -a # suppresion des images, conteneur, réseau, volumes, cache... | ||
+ | |||
+ | </ | ||
+ | |||
+ | Et hop : réduction à 40 Mo ! | ||
====== Docker-compose ====== | ====== Docker-compose ====== |