Ajout Communication entre un conteneur et son hôte
This commit is contained in:
parent
cfd8eddd89
commit
4a71807404
|
@ -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 <HOST_INTERFACE_IP>:<HOST_PORT>:<CONTAINER_PORT> (…)
|
||||
~~~
|
||||
|
||||
On utilisera de préférence `127.0.0.1` comme `<HOST_INTERFACE_IP>`. 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 : <https://docs.docker.com/engine/reference/commandline/run/#publish>
|
||||
|
||||
|
||||
#### 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
|
||||
|
|
Loading…
Reference in a new issue