gpt4 book ai didi

docker - 与本地主机:5432的连接被拒绝。检查主机名和端口是否正确以及邮局主管正在接受TCP/IP连接

转载 作者:行者123 更新时间:2023-12-02 19:25:43 28 4
gpt4 key购买 nike

这是我的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"]

我的jar是需要postgres的spring boot应用程序。
我在本地安装了portgres,它已在我的本地主机上成功运行。
我正在通过命令成功构建DockerFile
sudo docker build -t djtijare/a2i-web:v1 .

但是在通过命令运行时
sudo docker run -p 8080:8080 -t djtijare/a2i-web:v1

给出异常(exception):
Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

我正在包含DockerFile和jar的目录中运行此docker命令
我需要设置任何配置来运行postgres吗?

最佳答案

您无法使用容器中的localhost访问主机上的服务,而必须使用主机的IP地址进行访问。

这是因为:默认docker将使用bridge来为您的容器设置一个内部网络,因此,当容器使用localhost时,它并不意味着主机,而是容器自身的网络。

如果坚持的话,一个丑陋的解决方案是使用--net=host

如下所示:

sudo docker run --net=host -p 8080:8080 -t djtijare/a2i-web:v1

然后,您可以使用 localhost从容器访问主机的服务。

关于docker - 与本地主机:5432的连接被拒绝。检查主机名和端口是否正确以及邮局主管正在接受TCP/IP连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56374012/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com