2015-10-22 03:25:20 +00:00
|
|
|
\newpage
|
|
|
|
|
2016-09-08 01:44:20 +00:00
|
|
|
Lier les conteneurs
|
|
|
|
===================
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
|
|
En plus de vouloir partager des répertoires entre deux conteneurs, il est
|
|
|
|
souvent nécessaire de partager des ports.
|
|
|
|
|
|
|
|
Pour automatiser le partage d'informations sur les IP et ports exposés, la
|
|
|
|
commande `run` possède l'option `--link` qui permet de définir dans les
|
|
|
|
variables d'environnement du conteneur que l'on va lancer.
|
|
|
|
|
2016-09-08 02:40:34 +00:00
|
|
|
Le détail des variables ajoutées dans cette situation est disponible dans
|
|
|
|
[la documentation de Docker](https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#environment-variables).
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
|
|
On utilise généralement cette liaison pour fournir au conteneur hébergeant un
|
|
|
|
site web dynamique l'IP et le port où trouver la base de données :
|
|
|
|
|
|
|
|
```
|
|
|
|
docker run -e MYSQL_ROOT_PASSWORD=mysecretpassword -d --name db1 mysql
|
|
|
|
docker run --link db1 my_nginx
|
|
|
|
```
|
|
|
|
|
2016-09-08 01:44:20 +00:00
|
|
|
## Ambasador
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
|
|
Afin d'abstraire le plus possible l'infrastructure sous-jacente et d'autoriser
|
|
|
|
les migrations de conteneurs, on utilise le modèle *ambassador*.
|
|
|
|
|
|
|
|
On lancera systématiquement un conteneur entre deux conteneurs que l'on veut
|
|
|
|
lier : l'ambassadeur. Celui-ci s'occupera de router correctement le trafic. En
|
|
|
|
cas de changement de route (si l'un des conteneurs change de machine hôte par
|
|
|
|
exemple), on a simplement à redémarrer l'ambassadeur plutôt que le conteneur
|
|
|
|
principal.
|
|
|
|
|
|
|
|
La documentation officielle pour ce modèle est disponible à
|
2016-09-08 02:40:34 +00:00
|
|
|
<https://docs.docker.com/engine/admin/ambassador_pattern_linking/>.
|