gpt4 book ai didi

linux - 在 alpine dockerfile 中运行 Postgres 失败

转载 作者:行者123 更新时间:2023-12-04 19:41:04 61 4
gpt4 key购买 nike

我正在尝试在 docker 中使用 Alpine 部署我的 Go 应用程序,我能够在我的 Mac 上使用它,然后使用 Centos 8 进行生产遇到问题
这是我的 Dockerfile:

FROM golang:alpine

RUN apk add --no-cache postgresql

RUN apk update && apk add --no-cache gcc && apk add --no-cache libc-dev && apk add --no-cache --update make

# Set the current working Directory inside the container
WORKDIR /app

# Copy go mod and sum files
COPY go.mod go.sum ./

# Download all dependencies. they will be cached of the go.mod and go.sum files are not changed
RUN go mod download

# Copy the source from the current directory to the WORKDIR inisde the container
COPY . .

# Build the Go app
RUN go build .

RUN rm -rf /usr/local/var/postgres/postmaster.pid

// this commands below like "psql -c ;'DROP DATABASE IF EXISTS prod'"
// "psql -c ;'CREATE USER prod'"
RUN make setup

# Exporse port 3000 or 8000 to the outisde world
EXPOSE 3000..

CMD ["make", "run" ]

然后我得到了错误:
psql: error: could not connect to server: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

在我的 make setup我做迁移,创建用户,数据库

也可以在 psql 上为那个 alpine 制作 SUPERUSER 吗?

你可以在上面的语法中看到什么,有什么错误以及如何纠正它?我从昨天开始就卡住了

最佳答案

从第 8 行到第 20 行删除原始 docker 文件并添加这些。

如果您的文件夹结构是这样的:

- directory
|
-> Dockerfile
-> go.mod
-> go.sum
-> go source files
# Copy go mod and sum files
COPY . /app

# Set the current working Directory inside the container
WORKDIR /app

RUN go mod download

RUN go build .

关于linux - 在 alpine dockerfile 中运行 Postgres 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62164812/

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