简体   繁体   English

检查主机名和端口是否正确以及 postmaster 是否接受 TCP/IP 连接

[英]Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections

I'm getting the below error while giving docker-compose up.在放弃 docker-compose 时出现以下错误。

springbootapp    | org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
springbootapp    |      at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:280) ~[postgresql-42.2.8.jar!/:42.2.8]
springbootapp    |      at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.2.8.jar!/:42.2.8]
springbootapp    |      at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195) ~[postgresql-42.2.8.jar!/:42.2.8]
springbootapp    |      at org.postgresql.Driver.makeConnection(Driver.java:458) ~[postgresql-42.2.8.jar!/:42.2.8]
springbootapp    |      at org.postgresql.Driver.connect(Driver.java:260) ~[postgresql-42.2.8.jar!/:42.2.8]
springbootapp    |      at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.2.jar!/:na]
springbootapp    |      at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354) ~[HikariCP-3.4.2.jar!/:na]
springbootapp    |      at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) ~[HikariCP-3.4.2.jar!/:na]
springbootapp    |      at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473) [HikariCP-3.4.2.jar!/:na]
springbootapp    |      at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554) [HikariCP-3.4.2.jar!/:na]
springbootapp    |      at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) [HikariCP-3.4.2.jar!/:na]
springbootapp    |      at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) [HikariCP-3.4.2.jar!/:na]
springbootapp    |      at org.flywaydb.core.internal.jdbc.JdbcUtils.openConnection(JdbcUtils.java:56) [flyway-core-6.0.8.jar!/:na]
springbootapp    |      at org.flywaydb.core.internal.jdbc.JdbcConnectionFactory.<init>(JdbcConnectionFactory.java:80) [flyway-core-6.0.8.jar!/:na]
springbootapp    |      at org.flywaydb.core.Flyway.execute(Flyway.java:438) [flyway-core-6.0.8.jar!/:na]
springbootapp    |      at org.flywaydb.core.Flyway.migrate(Flyway.java:149) [flyway-core-6.0.8.jar!/:na]
springbootapp    |      at org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:65) [spring-boot-autoconfigure-2.2.6.RELEASE.jar!/:2.2.6.RELEASE]

Dockerfile: Dockerfile:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
EXPOSE 8082
RUN mkdir -p /app/
RUN mkdir -p /app/logs/
ADD target/household-0.0.1-SNAPSHOT.jar /app/app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=container", "-jar", "/app/app.jar"]

docker-compose.yml: docker-compose.yml:

version: '3.2'
services:
postgres:
    image: postgres:latest
    network_mode: bridge
    container_name: postgres
    volumes:
    - postgres-data:/var/lib/postgresql/data
    expose:
    - 5432
    ports:
    - 5434:5434
    environment:
        - POSTGRES_PASSWORD=
        - POSTGRES_USER=
        - POSTGRES_DB=test
    restart: unless-stopped
# APP*****
springbootapp:
    image: springbootapp:latest
    network_mode: bridge
    container_name: springbootapp
    expose:
    - 8080
    ports:
    - 8080:8080
    restart: unless-stopped
    depends_on:
    - postgres
    links:
    - postgres
volumes:
postgres-data:

The error is definitely due to postgres is not running correctly or the app is not able to communicate to postgres.该错误肯定是由于 postgres 未正确运行或应用程序无法与 postgres 通信。 Use below docker-compose file and check.使用下面的 docker-compose 文件并检查。

version: '2'
services:
    postgresql:
        image: postgres:10.4
        volumes:
            - ./postgresql/:/var/lib/postgresql/data/
        environment:
            - POSTGRES_USER=someuser
            - POSTGRES_PASSWORD=
        ports:
            - 5432:5432

You can always use following command to check if db is accepting connection.您始终可以使用以下命令来检查 db 是否正在接受连接。

psql -h [HostIP] -U [db_user] -d [db_name]

I had same problem.我有同样的问题。 the solution is simple.解决方案很简单。

  • first open docker app,首先打开 docker 应用程序,

in Terminal process;在终端过程中;

  • then you have to go to the directory where the docker-compose.yml然后你必须将 go 到docker-compose.yml所在的目录
    file is located.文件位于。

  • then write docker-compose up然后docker-compose up

  • next, open pgAdmin app and choose db to your spring project,接下来,打开 pgAdmin 应用程序并选择 db 到您的 spring 项目,

  • next, enter the password and username found in docker-compose.yml (username: image , password: POSTGRES_PASSWORD ),接下来,输入在docker-compose.yml中找到的密码和用户名(用户名: image ,密码: POSTGRES_PASSWORD ),

  • finally run the spring boot project.最后运行 spring 引导项目。

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

相关问题 与 127.0.0.1:5432 的连接被拒绝。 检查主机名和端口是否正确以及 postmaster 是否接受 TCP/IP 连接 - Connection to 127.0.0.1:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections 如何检查客户端是否连接到TCP / IP端口 - how to check whether a client is connected to a tcp/ip port 检查与服务器的TCP连接数 - Check number of TCP connections to the server MantaRay在同一端口上打开3个TCP连接 - MantaRay opens 3 TCP connections on the same port 如何配置 PostgreSQL 以允许 TCP/IP 连接? - How to configure PostgreSQL to allow TCP/IP connections? Java TCP / IP服务器关闭连接不正确 - Java TCP/IP Server Closing Connections Improperly 停止接受新的TCP连接,而不丢弃任何现有的TCP连接 - Stop accepting new TCP connections without dropping any existing ones 在 Java 中检查字符串是主机名还是 IP 地址 - Check if a string is a hostname or an ip-address in Java Netty:有多少线程在服务器端口(80)上接受连接 - Netty: How many thread is accepting connections on a server port (80) 如何在 Java8 上自定义 TCP/IP(非 HTTP)TLS 的主机名检查? - How to customize hostname checking for TCP/IP (not HTTP) TLS on Java8?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM