1

我尝试在我的 docker 容器(来自 alpine3.6)中运行命令来安装我在网上看到的 pg_dumpall:

apk update && apk upgrade

接着

apk add --no-cache postgresql-client-common

最后

apk add --no-cache postgresql-client

只有我尝试的两个安装中的最后一个有效(没有通用的那个),但我仍然没有pg_dumppg_dumpall在我的二进制文件中。

4

2 回答 2

1

尝试

apk add postgresql-client

您可以在此链接中查看此软件包的所有包含二进制文件。这个包有一个 pg_dumpall

https://pkgs.alpinelinux.org/contents?file=&path=&name=postgresql-client&branch=v3.8&repo=main&arch=aarch64

于 2018-10-24T09:37:38.467 回答
0

每个 alpine 版本都有不同的 postgresql-client。对于我自己,我写了这些逻辑:

ARG PSQL_VERSION=0
RUN if [ "$PSQL_VERSION" = "13" ]; then \
        echo "http://dl-cdn.alpinelinux.org/alpine/v3.14/main" >> /etc/apk/repositories; \
    elif [ "$PSQL_VERSION" = "12" ]; then \
        echo "http://dl-cdn.alpinelinux.org/alpine/v3.12/main" >> /etc/apk/repositories; \
    elif [ "$PSQL_VERSION" = "11" ]; then \
        echo "http://dl-cdn.alpinelinux.org/alpine/v3.10/main" >> /etc/apk/repositories; \
    elif [ "$PSQL_VERSION" = "10" ]; then \
            echo "http://dl-cdn.alpinelinux.org/alpine/v3.8/main" >> /etc/apk/repositories; \
    fi
RUN apk update
RUN apk --no-cache add postgresql-client

现在您可以传递所需的客户端版本:

docker build -t backuper --build-arg PSQL_VERSION=12 . 
于 2021-12-06T00:37:05.340 回答