2016-04-28 6 views
0

私はdocker-compose.ymlファイルにwebとauthという2つのサービスがあります。ブリッジネットワークとホストネットワークでサービスを作成する方法は?

認証が必要な場合、Webは認証にリダイレクトされます。第二に、webは直接authに話します。

私のホストマシンは両方のサービスにアクセスできますが、私のホストネットワークにポート3000と9000を転送できるので、これは素晴らしいことです。

しかし、別のブリッジネットワーク上にあるアプリケーション同士が直接話すとき、同じlocalhost:9000ルートを使用できないという問題があります。

ホストネットワークとブリッジネットワークの両方で認証サービスを使用できませんか。私はdocker network connect container hostを試しましたが、それは明示的に失敗します。 2つのアプリを互いに外部からアクセスできるようにしながら、どのようにしてこれらのアプリを互いに話し合わせるのですか?

+0

あなたのコンファイルを貼り付けることはできますか?ホスト・ネットワーク上でコンテナを実行する必要があるのはなぜですか? – johnharris85

答えて

0

各コンテナには、それを実行しているマシンと同じではない独自のローカルホストがあります。

サービス名とリンクエイリアス(SERVICE:ALIAS)の両方を指定してコンテナをリンクすることも、サービス名だけをリンクすることもできます。例:リンクされたサービスのための

web: 
    ... 
    links: 
    - auth 
    - auth:ldap 

auth: 
    ... 
    links: 
    - web 

コンテナは、別名、または別名が指定されていない場合は、サービス名と同じホスト名で到達可能になります。

リンクは、depends_onと同じ方法でサービス間の依存関係を表すため、サービスの起動順序を決定します。

(CIT。docker-compose docs

関連する問題