0

我正在使用存在于

相同的图像出现在

我没有使用 postgresql 的 docker 映像。我有自己的 Postgres 服务器托管在

172.15.16.23 (local ip), port 5432 , admin usaer as pactbrokeruser and password as 'password' and db name is pactbroker-db.

我将文档中给出的环境变量设置为

  • PACT_BROKER_DATABASE_ADAPTER = postgres
  • PACT_BROKER_DATABASE_USERNAME = pactbrokeruser
  • PACT_BROKER_DATABASE_PASSWORD = 密码
  • PACT_BROKER_DATABASE_HOST = 172.15.16.23
  • PACT_BROKER_DATABASE_NAME = pactbroker-db

我正在使用 docker run 命令作为

docker run --name pactbroker -e
PACT_BROKER_DATABASE_USERNAME=pactbrokeruser -e
PACT_BROKER_DATABASE_PASSWORD=password -e
PACT_BROKER_DATABASE_ADAPTER=postgres -e PACT_BROKER_DATABASE_HOST= 172.15.16.23 -e PACT_BROKER_DATABASE_NAME=pactbroker_db -p 80:80 dius/pact_broker

但仍然没有发生连接。在 docker 日志中,我收到错误“连接尚未建立”,请您帮我编写将 dockerized pact-broker 连接到非 dockerized postgresql 的正确命令。---------------------------------------来自Beth的评论后--------我按照你的建议试过了。BUt 环境变量工作正常。我尝试编辑 Git 项目https://github.com/DiUS/pact_broker-docker中给出的 docker compose 文件 ,如下所示

版本:'2'

服务:

broker_app:图像:dius/pact-broker 端口:-“80:80”环境:PACT_BROKER_DATABASE_USERNAME:postgres PACT_BROKER_DATABASE_PASSWORD:Welcome123 PACT_BROKER_DATABASE_HOST:10.0.0.204 PACT_BROKER_DATABASE_NAME:postgres

当我在外部使用它时,我已经删除了数据库图像下载部分。我在图像中提供了我的外部 Postgres 数据库详细信息,在此处输入图像描述

因此,作为主机,我提供了服务器的 ip,是否正确?

4

1 回答 1

0

您是否可以通过从安装了 postgres 客户端的位置运行以下命令来测试环境变量是否正确设置

psql postgresql://${PACT_BROKER_DATABASE_USERNAME}:${PACT_BROKER_DATABASE_PASSWORD}@${PACT_BROKER_DATABASE_HOST}/${PACT_BROKER_DATABASE_NAME}

您还可以检查是否有任何可能阻止连接的防火墙。

于 2017-08-04T03:15:08.243 回答