From 4a718074042298c020822b75439f07602412739e Mon Sep 17 00:00:00 2001 From: whirigoyen Date: Fri, 8 Dec 2023 10:46:55 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20Communication=20entre=20un=20conteneur?= =?UTF-8?q?=20et=20son=20h=C3=B4te?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoDocker.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/HowtoDocker.md b/HowtoDocker.md index 72f20f69..19639247 100644 --- a/HowtoDocker.md +++ b/HowtoDocker.md @@ -189,6 +189,32 @@ $ docker inspect docker_gwbridge --format "{{ .Containers.f4bae02ef1407adc92f1aa Note : De notre expérience, l'option --format peut se montrer capricieuse, notamment s'il y a en jeu des identifiant de containers. Une alternative est de parser du json manuellement avec [jq](https://wiki.evolix.org/TipsShell#json-avec-jq ) + +### Communication entre un conteneur et son hôte + +#### Exposer un service du conteneur dans l'hôte + +Le principe de Docker est de compartimenter ou isoler un service de l'hôte qui l'héberge. + +Pour exposer un service du conteneur, on lancera le conteneur avec l'option `-p` pour mapper un port de l'hôte vers le conteneur : + +~~~ +$ docker run -p :: (…) +~~~ + +On utilisera de préférence `127.0.0.1` comme ``. Si on a besoin d'exposer le service à l'extérieur, on mettra en place un reverse proxy qui gèrera la teminaison SSL, [avec Nginx par exemple](https://wiki.evolix.org/HowtoNginx#proxy_pass). + +Documentation : + + +#### Fournir un service de l'hôte au conteneur + +Pour faire l'inverse, c'est-à-dire permettre au conteneur d'accèder à un service de l'hôte, il faut : + +1. Faire écouter ce service sur l'IP de l'interface réseau Docker commune entre l'hôte et le conteneur (par défaut `docker0`). +2. Autoriser l'IP du conteneur sur ce port dans le firewall de l'hôte. + + ## Gérer les images ### Lister les images locales