virli/tutorial/1/linking.md

37 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

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/>.