如何将Docker内部的SpringBoot应用程序连接到外部PostgreSQL

jdg4fx2g  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(169)

我有Java SpringBoot Web应用程序在主机上工作。应用程序连接到PostgreSQL数据库。一切正常。操作系统- Ubuntu 18。
现在我需要将应用程序移动到Docker容器中,除了PostgreSQL将保留在主机上。
我安装了Docker,升起容器,但我的应用程序在docker中无法连接到PostgreSQL数据库与默认设置(localhost)。
下面是我的application.properties文件:

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

字符串
下面是我的Dockerfile

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


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

fbcarpbf

fbcarpbf1#

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

  1. --network="host"

字符串
完整命令:

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

相关问题