gpt4 book ai didi

postgresql - 用于启动数据库的 Docker 容器因连接被拒绝错误而失败

转载 作者:行者123 更新时间:2023-11-29 13:44:45 25 4
gpt4 key购买 nike

Docker:初始化数据库不起作用

我有一个设置数据库的 dockerfile。此 dockerfile 在 docker-compose 文件中使用。

当我运行 $docker-compose up 时,出现以下错误:

panic: dial tcp 172.19.0.2:5432: connect: connection refused

FROM postgres:9.6 
ENV POSTGRES_PORT=5432
ENV POSTGRES_USER=abc
ENV FLYWAY_VERSION 5.0.2
RUN apt-get update && apt-get install -y wget build-essential
RUN ["mkdir", "/src"]
RUN wget -q https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/$FLYWAY_VERSION/flyway-commandline-$FLYWAY_VERSION-linux-x64.tar.gz -P /src/
RUN tar xzf /src/flyway-commandline-$FLYWAY_VERSION-linux-x64.tar.gz -C /src/ RUN chmod +x /src/flyway-$FLYWAY_VERSION/flyway
ENV PATH=${PATH}:/src/flyway-$FLYWAY_VERSION
COPY Makefile /src/ COPY migrations /docker-entrypoint-initdb.d/migrations/ COPY flyway.test.conf /docker-entrypoint-initdb.d/
COPY bin/initdb.sh /docker-entrypoint-initdb.d/
EXPOSE $POSTGRES_PORT

最佳答案

扩展 postgres docker 镜像后,您需要在新 Dockerfile 的末尾添加入口点,以便您可以再次启动 postgres 服务,或者您可以在运行时手动设置它一个新容器。

通过查看原文Dockerfile对于 Postgres 9.6,您可以看到缺少以下几行:

ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["postgres"]

关于postgresql - 用于启动数据库的 Docker 容器因连接被拒绝错误而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50308624/

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