I have postgres db in docker container and spring web app also in docker container, but when I start container with web app i have an error:
Caused by: java.net.UnknownHostException: postgres
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.base/java.net.Socket.connect(Socket.java:609)
at org.postgresql.core.PGStream.createSocket(PGStream.java:238)
at org.postgresql.core.PGStream.<init>(PGStream.java:98)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:100)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:215)
... 70 more
Dockerfile for db:
FROM postgres:14.1
ENV POSTGRES_USER=postgres
ENV POSTGRES_PASSWORD=root
ENV POSTGRES_DB=internship_db
Dockerfile for web:
FROM tomcat:9
WORKDIR D:/internship_project
ADD target/internship_project.war /usr/local/tomcat/webapps/
EXPOSE 8080
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]
docker-compose.yml:
version: "3"
services:
tomcat:
build: ../
ports:
- 8080:8080
depends_on:
- postgres
postgres:
build: ./db
ports:
- 5432:5432
I'm trying to connect to jdbc:postgresql://postgres:5432/internship_db. But also tried localhost:5432, 0.0.0.0:5432 and got:
Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
My postgresql.conf listen_address="*"
My pg_hba.conf
TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 TRUE
# IPv6 local connections:
host all all ::1/128 TRUE
Any ideas what's the problem?