【问题标题】:How to connect SpringBoot application inside Docker to outside PostgreSQL如何将 Docker 内部的 Spring Boot 应用程序连接到 PostgreSQL 外部
【发布时间】:2019-03-05 10:04:37
【问题描述】:

我有 Java SpringBoot Web 应用程序在主机上工作。应用程序连接到 PostgreSQL 数据库。一切正常。操作系统 - Ubuntu 18。

现在我需要在 Docker 容器中移动应用程序,PostgreSQL 除外,它将保留在主机上。

我安装了 Docker,启动了容器,但我在 docker 中的应用程序无法使用默认设置 (localhost) 连接到 PostgreSQL 数据库。

这是我的 application.properties 文件:

spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/webdemodb
spring.datasource.username=postgres
spring.datasource.password=123
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL95Dialect
spring.jpa.generate-ddl=true

这是我的 Dockerfile

FROM java:8
WORKDIR /
ADD target/webaccount-1.0-SNAPSHOT.jar app.jar
EXPOSE 8080
RUN fc-cache -f -v
ENTRYPOINT ["java","-jar","/app.jar"]

我了解了 Docker 的网络,但没有找到解决方案。我需要设置什么?

【问题讨论】:

标签: postgresql docker spring-boot


【解决方案1】:

Artemiy,谢谢!为了简单的使用,我刚刚在运行容器时应用了下一个选项:

--network="host"

完整命令:

docker run -d -p 9000:8080 --network="host" --name webaccount webaccount:1.0

【讨论】:

    猜你喜欢
    • 2018-03-16
    • 2018-11-07
    • 2014-05-27
    • 2021-09-16
    • 2021-09-17
    • 1970-01-01
    • 2020-09-14
    • 2019-03-01
    • 1970-01-01
    相关资源
    最近更新 更多