繁体   English   中英

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

[英]Docker/Hibernate/PostgreSQL - Connecting container running Hibernate/SpringBoot app with a postgreSQL container not working

我正在运行一个非常简单的SpringBoot应用程序,该应用程序使用Hibernate连接到PostgreSQL数据库。 然后运行两个Docker容器,一个带有.war的Tomcat映像,另一个带有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:

这是战争中的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 compose在Docker上运行它时,使用DB连接和Hibernate的端点将返回404。

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

有人可以帮忙吗?

我成功了,这实际上是我在Docker上犯的一个错误。

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

我所做的只是简单地由docker-compose build并且可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM