【发布时间】:2019-07-04 02:20:39
【问题描述】:
我想构建我的 springboot 项目。然后我想dockerize我的代码。但是当我构建时,我得到了错误。我认为这是由 postgresql 设置引起的。但我找不到原因。
你能帮帮我吗?
docker-compose.yml file;
version: '2'
services:
web:
build: .
ports:
- 8080:8080
db:
container_name: productdb
image: postgres:9.5
volumes:
- sample_db:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=bright
- POSTGRES_USER=postgres
- POSTGRES_DB=productdb
- PGDATA=/var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
volumes:
productdb: {}
application.yml 文件;
server:
port: 8761
eureka:
client:
registerWithEureka: false
fetchRegistry: false
server:
enableSelfPreservation: false
waitTimeInMsWhenSyncEmpty: 0
spring:
application:
name: product-service
datasource:
url: jdbc:postgresql://db:5432/productdb
username: postgres
password: xxxx
initialization-mode: always
jpa:
show-sql: true
hibernate:
ddl-auto:
properties:
hibernate:
temp:
use_jdbc_metadata_defaults: false
错误的样子;
org.postgresql.util.PSQLException:连接尝试失败。
谢谢
【问题讨论】:
-
“网络”容器是否托管您的 Spring 应用程序?如果是,你能从你的 web 容器内部 ping 到 postgresql 容器吗?
-
是的,我的应用是 Web 容器。但我无法 ping 到 postgresql 容器。当我在 application.yml 中使用 jdbc:postgresql://localhost:5432/productdb 时,我可以成功构建,但是当我想运行 docker 时,出现以下错误。 org.postgresql.util.PSQLException:连接到 localhost:5432 被拒绝
-
不需要连接localhost,(localhost=容器本身,想从另一个容器连接时需要连接postgres容器的容器名;
-
lvthillo,是的,我知道。这就是我更改本地主机的原因。现在我使用如上。但是当我想清理安装 mvn 包时,出现错误“org.postgresql.util.PSQLException:连接尝试失败。”
标签: postgresql spring-boot docker