2016-09-30 14 views
1

docker-composeを使用して、公開されているポート8080と私的に利用可能なポート9324のsqsサービスでAPIを実行しようとしています。 sqsサービス。そのために、私は次のドッキングウィンドウ-compose.ymlを設定している:Docker Compose - コンテナ受信接続が拒否されました

version: '2' 
services: 
    api: 
    image: api 
    ports: 
     - "8080:8080" 
    sqs: 
    image: pakohan/elasticmq 

私はAPIのリンクエイリアスを追加するなど、いくつかの反復、試してみました:

links: 
    - "sqs:localhost" 

と暴露します平方フィートのポート:

ports: 
    - "9324:9324" 

いずれも機能していないようです。 sqsサービスと通信しようとすると、APIは常に接続拒否エラーを受け取ります。

sqsポートが公開されると、ドッカーの外で実行されているAPIは正確に通信できるため、sqsサービスが適切に初期化されます。

誰もこの問題の解決方法について考えていますか?

答えて

6

apiコンテナをsqsに接続すると、それが実際にlocalhostに接続していることを伝えようとすると、動作しません。

links: 
    - sqs:original-name 

かさえ:あなたは次のように、すでに特別な意味を持っていない名前でapiからsqsが利用できるようにする必要があり

links: 
    - sqs 

名の下にapiからsqsにアクセスできるようになりました」 sqs "。

その後、もちろん、あなたはそれがoriginal-nameのポート9324またはその代わりlocalhostのポート9324のsqsに接続する必要があることをapiを伝える必要があります。どのようにそれを行うかは、apiが実際に何であるかによって異なります。

関連する問題