在此问题中,我指的是以下问题的答案:here。我有两个docker容器。在其中一个中,我有我的数据库,在另一个中,我有一个詹金斯服务器。后者已经创建并正在运行。我的数据库的Docker容器创建如下:
docker run -d --name postgres -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -e POSTGRES_DB=postgres -p 127.0.0.1:5432:5432 postgres:10.4-alpine
然后我通过
创建了一个neworkdocker network create --driver=bridge postgres_jenkins_network
并使用
将两个容器都放入此网络中docker network connect postgres_jenkins_network postgres
docker network connect postgres_jenkins_network jenkins
不幸的是,由于出现以下错误,我的jenkins无法连接到我的postgres数据库:
org.postgresql.util.PSQLException: Connection to localhost:5432 refused
由jenkins测试的我的应用程序具有以下应用程序属性和yml数据:
application.properties
spring.profiles.active=dev
application.yml
spring:
profiles: dev
datasource:
platform: postgres
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/postgres
username: user
password: password
server:
servlet:
context-path: /mep
port: 9000
看来,我的应用程序无法访问数据库,但我不知道为什么会这样。
感谢您的帮助 马赛厄斯
答案 0 :(得分:2)
据我所知,您必须在 application.yml 文件的网址中使用 postgres 而不是 localhost :{ {1}} 因为您要连接到在容器中运行的名为 postgres 的postgres数据库服务器。