2017-03-12 4 views
0

私はドッカーコンテナを作成しました。このデータベースコンテナは正常に実行されます。私はこのコンテナに接続し、データベースのすべての詳細を見ることができます。ここではいくつかの設定です。ここでDocker:postgresクライアントはデータベースコンテナに接続することはできません

services: 
    db: 
    container_name: db 
    image: postgres:latest 
    ports: 
     - "5432:5432" 
    environment: 
     POSTGRES_USER: abc 
     POSTGRES_PASSWORD: abc 
     POSTGRES_DB: database_dev 
     PGDATA: /var/lib/postgresql/data/pgdata 
    volumes: 
    - postres_volume:/var/lib/postgresql/data/ 

が、私はこの実行しているコンテナから検査情報です:

"NetworkSettings": { 
      "Bridge": "", 
      "Ports": { 
       "5432/tcp": [ 
        { 
         "HostIp": "0.0.0.0", 
         "HostPort": "5432" 
        } 
       ] 
      }, 
      "Networks": { 
       "medusa_default": { 
        "IPAMConfig": null, 
        "Links": null, 
        "Aliases": [ 
         "74f7f48596e3", 
         "db" 
        ], 
        "NetworkID": "d48bbf5453a7c42facda69a8c2c741a20bc18d35238854c00f068bd19119afc4", 
        "EndpointID": "5587658ae084eba71e65fb4712bc75a0ea7c240b600d77d4b4722f5a91818d73", 
        "Gateway": "172.19.0.1", 
        "IPAddress": "172.19.0.5", 
        "IPPrefixLen": 16, 
        "IPv6Gateway": "", 
       } 
      } 

は、これらの情報に基づいて、私はそのようなPgAdmin4やAdminerなど、いくつかのPostgresのクライアントを試してみて、これらの情報を使用して:

host: 172.19.0.5 (get from inspect) 
port: 5432   (get from inspect) 
user name: abc (get from docker-compose config) 
password: abc (get from docker-compose config) 
database name: abc_dev (get from docker-compose config) 

しかし、すべてのクライアントは接続できません。ここで何が間違っているのか分かりません。教えてください。

答えて

1

inspectから取得するIPアドレスは、Dockerの内部ネットワークのアドレスであり、コンテナの外側から見ることのできるアドレスではありません。

あなたのコンファイル(ports5432:5432設定)にポートを露出しているので、あなたは単にドッカーがコンテナを実行しているホスト上のポート5432に接続することができます。 Dockerがオンのホストから接続しようとすると、localhost:5432が動作します。

+0

以前はlocalhostか0.0.0.0で試してみました。しかし、私は "接続拒否"のようなエラーを受けました。 inspectでipを入力すると、大きな待ち時間があります(失敗します)。それが主な違いです。 –

+0

.Ports。 "5432/tcp" .HostIpの値が外部アドレスであることに注意してください。特に指定がない限り、通常は0.0.0.0です。 – Matt

+0

@TrầnKimDự即時接続拒否はポストグルを意味するか、プロキシがポートでリッスンしていません。 'db'コンテナのログを確認する – Matt

関連する問題