首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring boot,docker compose中的postgres无法到达localhost

Spring boot,docker compose中的postgres无法到达localhost
EN

Stack Overflow用户
提问于 2021-01-11 21:31:54
回答 1查看 112关注 0票数 0

我有一个带有Postgres数据库的Spring boot web应用程序。我创建了docker-compose文件

代码语言:javascript
复制
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

代码语言:javascript
复制
FROM adoptopenjdk/openjdk15:alpine-jre
VOLUME /tmp
COPY target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
EXPOSE 8080

还有application.properties文件:

代码语言:javascript
复制
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之后,所有的服务都启动了,一切都运行正常:

代码语言:javascript
复制
...
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/链接。服务器看起来正在运行,但我无法访问此应用程序的任何页面。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-01-11 22:32:39

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65667813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档