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