2017-08-10 10 views
0

を構成しています。ドッカー作成ファイルには2つのサービスが定義されていて、mongo dbサービスのエンドポイントにサービス名を送ることができます。私はそれに要求を送信できるように、私は私のホストは私のWebコンテナ(またはドッキングウィンドウのコンポーズファイル)にファイルを設定するのですか、私はサービスがwebと呼ばれていると、サービスがecho-chamber呼び出された場合、ホストマシンは、私がリンクとホスト名dockerは

127.0.0.1 dotcomtest.net 

を持っていますエンドポイント、すなわちhttp://dotcomtest.net/query_string?

ありがとう

+0

あなたはcontaiあなたのホストマシンにあるdotcomtest.netに連絡するのは?どのOSを使用していますか? –

+0

はい(私はそうだと思いますが)、私は2つのコンテナが自分のネットワーク上にあると思っていましたので、2つのコンテナ間の通信のケースだと思いました。 MacOS – Richlewis

答えて

1

両方が同じネットワーク上で動作する場合に可能です。だから、最高のは、私まで、この組成とnginx1コンテナに行くが

docker-compose exec nginx1 bash 

を使用して、以下を実行するとdocker-composeファイル

version: '3' 
services: 
    nginx1: 
    image: nginx 
    ports: 
     - "8082:80" 
    nginx2: 
    image: nginx 
    ports: 
     - "8081:80" 
    networks: 
     default: 
     aliases: 
      - dotcomtest.net 

でそれらの両方を置くことであるあなたのよう

[email protected]:/# apt update && apt install -y curl 
[email protected]:/# curl http://dotcomtest.net 
<!DOCTYPE html> 
<html> 
<head> 
<title>Welcome to nginx!</title> 
<style> 
    body { 
     width: 35em; 
     margin: 0 auto; 
     font-family: Tahoma, Verdana, Arial, sans-serif; 
    } 
</style> 
</head> 
<body> 
<h1>Welcome to nginx!</h1> 
<p>If you see this page, the nginx web server is successfully installed and 
working. Further configuration is required.</p> 

<p>For online documentation and support please refer to 
<a href="http://nginx.org/">nginx.org</a>.<br/> 
Commercial support is available at 
<a href="http://nginx.com/">nginx.com</a>.</p> 

<p><em>Thank you for using nginx.</em></p> 
</body> 
</html> 

コマンド私のnginx1コンテナがnginx2へのアクセスを見ることができます

+0

を使用しているImはうまくいっているようですが、動作しているようです:-)これはどのように動作し、ドックで 'network alases'を見つけることができないのでしょうか? – Richlewis

+0

' docker-compose'ではデフォルトネットワーク'docker network create 'と等価であり、それぞれのコンテナはこのネットワークに自動的に関連付けられます。これらのネットワークに別名を指定できるようになりました。 2つのコンテナが同じネットワーク上で実行されているときは、を使用してアドレス可能です。この場合、サービス名はnginx1とnginx2です。 –

関連する問題