0

geoserver と postgres の間に docker ネットワークがあります。docker inspectcontainer nameを実行すると、2 つがリンクされていることがわかります。geoserver コンテナに実行すると、postgres コンテナに ping を実行できますが、geoserver コンテナ内から postgres db に接続しようとするとエラーが発生します

psql: ホスト名postgresをアドレスに変換できませんでした: 名前またはサービスが不明です

これが私の docker-compose の例です:

version: '2'
services:

postgres:
  image: kartoza/postgis:9.5-2.2
geoserver:
  image: geonode/geoserver
  hostname: geonode-geoserver
  links:
    - postgres:postgres
  ports:
    - "8181:8080"

/etc/hostsDockerネットワークでは、ファイルにデータが入力されていないことを知っています。geoserver コンテナからデータベースにアクセスできるようにするにはどうすればよいですか。

4

3 に答える 3

0

リンクなしで名前を解決するには、定義済みのネットワークを使用し、 geoserverの前に postgres を開始するには、depends_on を使用する必要があります。

于 2016-09-29T16:50:59.090 に答える
0

geoserver サービス定義の変更:

  • ポストグル:ポストグル

に:

  • postgres:kartoza/postgis:9.5-2.2

サービス名とイメージ名を一致させる必要があります

于 2016-10-12T20:51:37.633 に答える
0

geoserverサービスが利用可能になる前にサービスが開始されている可能性postgresがあります。

https://docs.docker.com/compose/startup-order/を参照してください

于 2016-09-29T15:28:03.093 に答える