当前位置: 首页 > 知识库问答 >
问题:

docker构建错误:PSQL:无法连接到服务器:连接被拒绝

元阳荣
2023-03-14

因此,我的计划是编写一个dockerfile,使用基本映像postgres:11,然后在其中复制并运行db0.sql

SQL脚本:db0.SQL

CREATE TABLE "quiz"."example" (
  "name" varchar(255),
  "age" int4,
  "phone" varchar(255),
  "blood_group" varchar(255),
  "height" int4
);

INSERT INTO "quiz"."example" VALUES ('Tony', NULL, NULL, 'O', 180);
ALTER TABLE "quiz"."example" ADD CONSTRAINT "name" UNIQUE ("name");

DockerFile:db0.dockerFile

FROM postgres:11
COPY db0.sql /srv/
RUN /etc/init.d/postgresql start
RUN su postgres
EXPOSE 5432
RUN psql -U postgres -p 5432 -h localhost -f /srv/db0.sql
Sending build context to Docker daemon  4.096kB
Step 1/6 : FROM postgres:11
 ---> 55ff21ffc6d1
Step 2/6 : COPY db0.sql /srv/
 ---> Using cache
 ---> 5623b274bfef
Step 3/6 : RUN /etc/init.d/postgresql start
 ---> Using cache
 ---> 838cd16f9545
Step 4/6 : RUN su postgres
 ---> Using cache
 ---> 2c65f67991f0
Step 5/6 : EXPOSE 5432
 ---> Using cache
 ---> a7921ebdf180
Step 6/6 : RUN psql -U postgres -p 5432 -h localhost -f /srv/db0.sql
 ---> Running in ddaced269112
psql: could not connect to server: Connection refused
        Is the server running on host "localhost" (127.0.0.1) and accepting
        TCP/IP connections on port 5432?
could not connect to server: Network is unreachable
        Is the server running on host "localhost" (::1) and accepting
        TCP/IP connections on port 5432?
The command '/bin/sh -c psql -U postgres -p 5432 -h localhost -f /srv/db0.sql' returned a non-zero code: 2
    null

完成这些操作后,我可以用一个python_team数据库、一个带有示例表的测试模式和一条记录连接到它。

怎么解决?

共有1个答案

澹台星光
2023-03-14

我找到了解决办法,跟着这个

DockerFile:db0.dockerFile

FROM postgres:11

ENV POSTGRES_PASSWORD postgres
COPY db0.sql /docker-entrypoint-initdb.d/

官方postgres映像将运行。在/docker-entrypoint-initdb.d/中找到SQL脚本

 类似资料:
  • PSQL:无法连接到服务器:连接被拒绝服务器是否在主机“”上运行并接受端口5432上的TCP/IP连接? Postgres安装版本为9.4。 主机操作系统:Ubuntu 15.04 客户端操作系统:Centos 7 我已经尝试了以下方法,但问题仍未解决: null

  • 我使用docker查看了瓶装水的github MD文件,遇到了一个关于postgresql的问题 如果我运行我会得到错误 这是我的docker compose中postgres和psql的配置。yml文件 这是我的pg_hba。配置文件 我已经做了好几天了,任何形式的帮助都将不胜感激!非常感谢。

  • 我刚刚编写了一个sprint引导应用程序来连接rabbitmq,并尝试发送一些测试消息,但连接被拒绝。Rabbitmq安装在docker中,该docker由命令<code>拉动。docker拉动Rabbitmq:3-management, 我用命令<;code>;docker run-d--hostname rabbit_test--name rabbitmq-p 15672:15672-p 56

  • 每次运行Rails4.0服务器时,都会得到这个输出。 我正在运行小牛OS X10.9,所以我不知道这是不是问题所在。我已经试了我能试的一切,但似乎都没有效果。我已经卸载并安装了postgres和pg gem多次了。 这是我的database.yml文件

  • 问题内容: 我正在尝试使用Flask在Raspberry Pi上运行一个简单的Web服务器。当我运行Flask应用程序时,它说: 在http://127.0.0.1:5000/上运行 但是,当我在笔记本电脑的Chrome中输入此地址时, ERR_CONNECTION_REFUSED 我可以在Raspberry Pi的浏览器上打开127.0.0.1:5000。我需要怎么做才能从另一台计算机连接? 问