Reputation: 1302
Here my DockerFile :-
FROM openjdk:10
ENV AQUILA_HOME /data/config
#USER root
#VOLUME /tmp
ADD a2i-web-1.0.0-SNAPSHOT.jar app.jar
#RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","app.jar"]
My jar is spring boot application which requires postgres. I installed portgres locally and it is successfully runnning on my localhost. I am building DockerFile successfully by command
sudo docker build -t djtijare/a2i-web:v1 .
But while running it by command
sudo docker run -p 8080:8080 -t djtijare/a2i-web:v1
giving exception as :
Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
I am running this docker command from directory containing DockerFile and my jar Do I need to set any configuration to run postgres?
Upvotes: 7
Views: 18773
Reputation: 9532
For those who came here for the error, and not for the docker problem:
You get this error when psql is not installed (or cannot be reached).
Since you did install it in your localhost, the docker container is unable to reach the localhost with the settings. This is nothing new, the other answer is years old, just making clearer what the error itself means.
I had the same error in DBeaver when I thought that DBeaver would install the PostgreSQL database driver as soon as I make a connection. Turns out that you have to install psql yourself, make a host in pgAdmin 4 or in the console, and then, you can reach it from DBeaver.
Upvotes: 1
Reputation: 31574
You can't access service which on the host using localhost
from container, you had to use the ip address of your host to access.
This because: default docker will use bridge which will setup a internal network for your container, so when container use localhost, it doesn't mean the host, it mean the container self's network.
If insist on, a ugly solution is use --net=host
.
Something like next:
sudo docker run --net=host -p 8080:8080 -t djtijare/a2i-web:v1
Then you can use localhost
to visit host's service from container.
Upvotes: 7