2017-07-06 16 views
0

私はdocker-composeを使用して、2つのコンテナ(akka appとpostgresql)で構成されるアプリを実行しようとしています。私は、コンテナが起動してdocker psコマンドを使用して、実行中であることがわかりdocker-compose upコマンドの後Docker:ホストからコンテナに接続できません

version: "3" 
services: 
    api: 
    image: akka-app:latest 
    ports: 
     - "9000:5000" 
    db: 
    image: postgres-db:latest 

:ここ はYAMLファイルである

CONTAINER ID  IMAGE        COMMAND     CREATED    STATUS    PORTS     NAMES 
65326e5a9677  akka-app:latest      "java -cp /..." 40 minutes ago  Up 23 seconds  0.0.0.0:9000->5000/tcp samplecompose_api_1 
1f86273c4f9a  postgres-db:latest     "docker-ent..." 19 hours ago  Up 23 seconds  5432/tcp     samplecompose_db_1 

しかし、私はからアッカアプリにアクセスしようとすると、ホストからGETリクエストを介して0.0.0.0:9000/statusまたはlocalhost:9000/status郵便配達員に「接続を拒否」というエラーが表示されます。

追加情報:

  • ドッカーバージョン17.06.0-CE、02c1d87
  • ドッキングウィンドウ・コンバージョン
  • 1.14.0をビルドし、c7bdf9e MacOSのシエラ10.12.5

を構築akka-appコンテナのネットワーク設定:

"NetworkSettings": { 
    "Bridge": "", 
    "SandboxID": "5b5b322ffb0fb881317f8cb4e69b8fd887566b8c5b73940174aabace35d816f8", 
    "HairpinMode": false, 
    "LinkLocalIPv6Address": "", 
    "LinkLocalIPv6PrefixLen": 0, 
    "Ports": { 
     "5000/tcp": [ 
      { 
       "HostIp": "0.0.0.0", 
       "HostPort": "9000" 
      } 
     ] 
    }, 
    "SandboxKey": "/var/run/docker/netns/5b5b322ffb0f", 
    "SecondaryIPAddresses": null, 
    "SecondaryIPv6Addresses": null, 
    "EndpointID": "", 
    "Gateway": "", 
    "GlobalIPv6Address": "", 
    "GlobalIPv6PrefixLen": 0, 
    "IPAddress": "", 
    "IPPrefixLen": 0, 
    "IPv6Gateway": "", 
    "MacAddress": "", 
    "Networks": { 
     "pinpointcompose_default": { 
      "IPAMConfig": null, 
      "Links": null, 
      "Aliases": [ 
       "api", 
       "65326e5a9677" 
      ], 
      "NetworkID": "925c8379c6d5b334177d7d198d1d38e29983903474183bee5734df9d30ab9810", 
      "EndpointID": "c7c37f545b00c6a19863315858e93a79f10b54b5675dc2cb8704d2f2f9b2bb1c", 
      "Gateway": "172.18.0.1", 
      "IPAddress": "172.18.0.2", 
      "IPPrefixLen": 16, 
      "IPv6Gateway": "", 
      "GlobalIPv6Address": "", 
      "GlobalIPv6PrefixLen": 0, 
      "MacAddress": "02:42:ac:12:00:02" 
     } 
    } 
} 

UPDATE:

出力をドッキングウィンドウ-構成:

docker-compose up 
Starting samplecompose_api_1 ... 
Starting samplecompose_api_1 
Starting samplecompose_db_1 ... 
Starting samplecompose_api_1 ... done 
Attaching to samplecompose_db_1, samplecompose_api_1 
db_1 | LOG: database system was shut down at 2017-07-06 08:54:56 UTC 
db_1 | LOG: MultiXact member wraparound protections are now enabled 
api_1 | 09:04:26.030 [default-akka.actor.default-dispatcher-3] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started 
api_1 | 09:04:27.472 [default-akka.actor.default-dispatcher-4] INFO sample-service - Bound to /0.0.0.0:5000 
+0

ドッカー作成ログも貼り付けることができますか? – dgulabs

+0

@dgulabsはい。ちょうど3分。アップデートとしてメインの質問にログを追加します:) –

+1

wget localhost:9000も失敗していますか? dockerを使ってdocker-composeを実行し、 "-p IP:host_port:container_port"で特定のアドレスにバインドしてコンテナを実行してみることができますか? – dgulabs

答えて

0

問題は私のラップトップ上で知ってインストール古いのVirtualBoxにありました。それは私が... localhost経由ドッカコンテナを実行している にアクセスすることができませんでしたインストールされていた間、だからすることができます私はノートパソコンからのVirtualBoxをアンインストールした後で、ドッカーアプリを再起動し、端末セッションをリニューアル

公式ドッカサイト上でこの程度read moreコンテナへのアクセスにlocalhostを使用することは非現実的でした。

ローカルホストの代わりに、docker-machine ip defaultから取得したIPを使用しました。しかし、これは良い方法ではありません。

すべての要件を満たしていることを再度確認してください。

関連する問題