私は2つのサービスを持っています - 1つはapp、もう1つはdbです。 これは、ドッキングウィンドウのコンファイルのスケッチです:ドッカーの作成:localhostとして他のサービスを参照する方法
version: "2"
services:
company:
container_name: company-app
extends:
file: ../base-config.yml
service: company
links:
- company-db
env_file: ./company.env
extra_hosts:
- "local.company.com:127.0.0.1"
company-db:
container_name: company-db
hostname: localhost
extends:
file: ../base-config.yml
service: company-db
env_file: ../db.env
アプリケーションサービスは、ドッキングウィンドウコンテナ内で実行している場合Communications link failure
につながるURL
上のデータベースに接続しようとします。
私は実行中のアプリのコンテナに取り付けられ、次のコンテンツをetc/hosts
ファイルをチェックし、見つけました:
[email protected]:/# cat etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 local.company.com
172.18.0.3 d1a4391a83f4
私は、ドッキングウィンドウのコンによって追加最後のエントリにも、私は、DBコンテナを参照することが可能なIPであることを理解したよう私はそれがcompany-db
ドメインによって参照されることを知りました。
また、私はcompany-dbサービスにhostnameオプションを追加しようとしましたが、成功しませんでした。
私の質問は、同じlocalhost urlを使用してcompany-db
サービスを参照する機能を達成する構成を変更するだけです。
この場合、このマッピングがどのように役立つかわかりません。もう少し詳しく教えてもらえますか? – marknorkin