web-dev-qa-db-ja.com

2つのdockerコンテナーの接続

2つの既存のdocker container webとdbがあります。これら2つのコンテナーをリンクして、互いに通信できるようにします。 --linkコマンドを使用すると、webをdbではなく新しいイメージにリンクします。

13
Ragul

--linkを使用することは、Dockerネットワークが登場する前にコンテナを接続する唯一の方法でした。これらは、コンテナ間通信の問題に対する「よりクリーンな」ソリューションを提供すると同時に、リンクの2つの主要な制限を解決します。

  1. リンクされたコンテナを再起動するとリンクが壊れる
  2. 異なるホストで実行されているコンテナ間のリンクはサポートされていません

Dockerネットワークを使用すると、--netオプションを使用して、指定されたネットワークでコンテナーを開始できます。

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

この時点で、2つのコンテナーはアドレス<container-name>.exampleを介して相互に到達可能です。つまり、container1.exampleおよびcontainer2.exampleです。

24
nivox