Spring引导,docker compose内部的postgres无法到达localhost



我有一个带有Postgres数据库的Spring启动web应用程序。我创建了docker撰写文件

version: '3.1'
services:
app:
container_name: springboot-postgresql
image: springboot-postgresql
build: ./
restart: always
#Environment variables for Spring Boot Application.
environment:
- DB_SERVER=postgresqldb
- POSTGRES_DB=my_database
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
ports:
- "8080:8080"
depends_on:
- postgresqldb
postgresqldb:
image: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=my_database

和Dockerfile

FROM adoptopenjdk/openjdk15:alpine-jre
VOLUME /tmp
COPY target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
EXPOSE 8080

以及application.properties文件:

spring.datasource.url=jdbc:postgresql://${DB_SERVER}/${POSTGRES_DB}
spring.datasource.username=${POSTGRES_USER}
spring.datasource.password=${POSTGRES_PASSWORD}
spring.jpa.hibernate.ddl-auto=create
spring.freemarker.expose-request-attributes=true
spring.freemarker.suffix= .ftl
address=http://localhost:8080/
server.error.whitelabel.enabled=false
# =========================== MAIL ===========================
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.mail.host=***
spring.mail.username=***
spring.mail.password=***
spring.mail.port=465
spring.mail.protocol=smtps
mail.smtp.auth=true
mail.debug=true
# =========================== SESSIONS ===========================
spring.session.jdbc.initialize-schema=always
spring.session.jdbc.table-name=SPRING_SESSION
# =========================== THYMELEAF ===========================
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html # ;charset=<encoding> is added
spring.thymeleaf.cache=true

在我运行docker-compose up之后,所有的服务都启动了,一切都很好:

...
springboot-postgresql | 2021-01-11 13:20:20.703  INFO 1 --- [           main] DeferredRepositoryInitializationListener : Triggering deferred initialization of Spring Data repositories…
springboot-postgresql | 2021-01-11 13:20:21.268  INFO 1 --- [           main] DeferredRepositoryInitializationListener : Spring Data repositories initialized!
springboot-postgresql | 2021-01-11 13:20:21.306  INFO 1 --- [           main] com.example.semestral_work.Application   : Started Application in 15.753 seconds (JVM running for 17.887)

但由于ERR_CONNECTION_REFUSED,我无法访问http://localhost:8080/链接。服务器看起来正在运行,但我无法访问此应用程序的任何页面。请问我做错了什么?

因为你的春假还没有开始。为此,您需要在不同的终端中启动docker或spring应用程序。

最新更新