web-dev-qa-db-fra.com

Connexion de deux conteneurs Docker

J'ai deux web et db conteneur docker existants. Je veux lier ces deux conteneurs, afin qu'ils communiquent entre eux. Si j'utilise la commande --link, cela liera le Web à une nouvelle image et non à la base de données.

13
Ragul

En utilisant --link était le seul moyen de connecter des conteneurs avant l'avènement des réseaux de dockers. Ceux-ci fournissent une solution "plus propre" au problème de la communication entre conteneurs et résout en même temps 2 des principales limites des liens:

  1. le redémarrage du conteneur lié rompt le lien
  2. les liens ne sont pas pris en charge entre les conteneurs exécutés sur différents hôtes

En utilisant le réseau docker, vous utiliseriez le --net option pour démarrer les conteneurs sur le réseau spécifié:

docker network create example
docker run -d --net example --name container1 <image>
docker run -d --net example --name container2 <image>

À ce stade, les 2 conteneurs sont accessibles mutuellement via l'adresse <container-name>.example: C'est container1.example et container2.example.

24
nivox