我正在使用
中的pact broker docker image中存在相同的图像
我没有使用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
。
我正在设置文档中给出的环境变量
我使用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 Project https://github.com/DiUS/pact_broker-docker中给出的docker compose文件,如下所示
版本:'2'
服务:
broker_app: image: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
我已经删除了数据库图像下载部分,因为我在外部使用它。我在图片enter image description here
中提供了我的外部Postgres数据库详细信息所以作为主机我给服务器的ip,是否正确?
答案 0 :(得分:0)
您是否可以通过从安装了postgres客户端的某个位置运行以下命令来测试环境变量是否已正确设置
psql postgresql://${PACT_BROKER_DATABASE_USERNAME}:${PACT_BROKER_DATABASE_PASSWORD}@${PACT_BROKER_DATABASE_HOST}/${PACT_BROKER_DATABASE_NAME}
您是否还可以检查是否有可能阻止连接的防火墙。