gpt4 book ai didi

java - Docker/Hibernate/PostgreSQL - 将运行 Hibernate/SpringBoot 应用程序的容器与 postgreSQL 容器连接不工作

转载 作者:行者123 更新时间:2023-11-29 13:45:22 27 4
gpt4 key购买 nike

我正在运行一个非常简单的 SpringBoot 应用程序,它使用 Hibernate 连接到 PostgreSQL 数据库。并运行两个 Docker 容器,一个带有带有 Tomcat 镜像的 .war,另一个带有 postgresql 镜像。

这是 docker-compose 文件:

version: '3'

services:
spring2:
build:
context: .
dockerfile: DockerfileTomcat
ports:
- 8080:8080
depends_on:
- db
networks:
- datalink

db:
image: postgres
ports:
- 5432:5432
env_file:
- psql.env
volumes:
- database:/var/lib/postgresql/data
networks:
- datalink

networks:
datalink:
driver: bridge

volumes:
database:

这是war中的hibernate.cfg.xml:

<property name="dialect">org.hibernate.dialect.PostgreSQL9Dialect</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://db:5432/myappdb</property>
<property name="connection.username">admin</property>
<property name="connection.password">pass1234</property>
<property name="hibernate.hbm2ddl.auto">update</property>

<mapping class="(...).models.Employee"/>

因此,当我在我的主机中使用 Eclipse 运行应用程序并连接到 docker 镜像时,它可以正常工作,但是当我使用 Docker 运行它时,使用 docker compose,使用 DB 连接和 Hibernate 的端点返回 404。

最令人困惑的部分是没有出现任何错误。它只是说找不到端点。

有人能帮忙吗?

最佳答案

我让它工作了,这实际上是我在使用 Docker 时犯的一个错误。

我每次执行 docker-compose up 时都使用相同的图像,所以我实际运行的 .war 文件不是我尝试运行的版本。

我所做的只是 docker-compose build 并且它起作用了。

关于java - Docker/Hibernate/PostgreSQL - 将运行 Hibernate/SpringBoot 应用程序的容器与 postgreSQL 容器连接不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49351131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com