From 33644eee2246227fa0ffccfeebb6e62c4b3d9220 Mon Sep 17 00:00:00 2001 From: minimata Date: Thu, 6 Mar 2025 08:22:45 +0100 Subject: [PATCH] vault backup: 2025-03-06 08:22:45 --- Subjects/Docker.md | 58 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/Subjects/Docker.md b/Subjects/Docker.md index e07b696..5de27bc 100644 --- a/Subjects/Docker.md +++ b/Subjects/Docker.md @@ -188,13 +188,22 @@ CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8080"] + On peut avoir plusieurs containers qui lancent la même image + C'est même le principe de Kubernetes + Uniques par leur container layer mais c'est tout ++ `docker run` + +-- + +### Examples + ++ `docker run busybox` + `docker run busybox:latest` ++ `docker run busybox bash` -- ### Les paramètres d'un container + L'image (obligatoire) et son tag (optionnel) ++ Les variables d'environnement + Les volumes + Les ports + Le network @@ -202,6 +211,22 @@ CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8080"] -- +### Variables d'environnement + ++ Permet de définir sur la container layer une variable d'environnement au moment de la création du container ++ Pratique pour paramétrer une application ++ `docker run -e` ou `docker run --env-file` + +-- + +### Examples + ++ `docker run -e TEST=coucou busybox` ++ `docker run -e USER=alex -e PASSWORD=whoops busybox` ++ `docker run --env-file=./.env busybox` + +-- + ### Volumes + Espace de stockage persistant @@ -225,13 +250,13 @@ CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8080"] + Par défaut, le container est complètement isolé + On peut ouvrir certains ports pour réseaux pour échanger du traffic + On map un port de l'hôte vers un port du container -+ `docker run -p 8080:80 nginx` ++ `docker run --port` -- ### Exemples -+ `docker run -p 8080:80 nginx` ++ `docker run --port 8080:80 nginx` + `docker run -p 8081:80 nginx` + `docker run -p 8082:80 nginx` @@ -240,6 +265,33 @@ CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8080"] ### Network + Les containers peuvent être connectés sur un réseau dédié -+ ++ Permet de connecter les containers entre eux en les gardant isolés de l'hôte ++ Permet de simuler des architectures réseau ++ `docker network` + +-- + +### Exemples + ++ `docker network ls` ++ `docker network create --ipv4 --subnet 172.18.0.0/24 v4net` ++ `docker network create --ipv6 --subnet 2001:db8::/64 v6net` ++ `docker run --network=v6net -p 8080:80 nginx` + +-- + +### Autres paramètres + ++ healthcheck ++ entrypoint ++ command ++ cpus ++ memory ++ labels ++ ... + +--- + +### Docker