RUN apk add --update --no-cache py3-arrow 在 alpine docker 镜像中不起作用

J.C*_*man 1 docker kubernetes pyarrow

我从以下位置构建了一个图像: https: //archive.apache.org/dist/spark/spark-$2.4.4/spark-$2.4.4-bin-hadoop2.7.tgz

下载后,我会:

cd spark-2.4.4-bin-hadoop2.7 && bin/docker-image-tool.sh build
Run Code Online (Sandbox Code Playgroud)

然后我的形象spark-py:latest就建立了。

我想使用这个 docker 文件在其中安装 pyarrow:

FROM spark-py:latest
COPY *.jar /opt/spark/jars/
RUN rm /opt/spark/jars/kubernetes-*-4.1.2.jar

RUN apk add --no-cache \
            build-base \
            cmake \
            bash \
            boost-dev \
            autoconf \
            zlib-dev \
            flex \
            bison \
            g++ 
           
RUN wget -q https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py && rm -f get-pip.py
RUN apk update
RUN apk add --update --no-cache py3-arrow 

Run Code Online (Sandbox Code Playgroud)

但我有一个错误:

> [8/8] RUN apk add --update --no-cache py3-arrow:
#12 0.552 fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
#12 1.269 fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
#12 1.672 ERROR: unsatisfiable constraints:
#12 1.688   py3-arrow (missing):
#12 1.688     required by: world[py3-arrow]
Run Code Online (Sandbox Code Playgroud)

存储库位于:https ://pkgs.alpinelinux.org/package/edge/testing/x86/py3-arrow

我可以看到这是存储库测试,但我不知道如何安装它。

And*_*rov 5

该软件包位于测试存储库中。默认情况下/etc/apk/repositories不包含一个。

您可以使用该命令添加存储库apk add

RUN apk add  \
   --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing \
   --update --no-cache py3-arrow 
Run Code Online (Sandbox Code Playgroud)

或者直接插入到末尾/etc/apk/repositories

RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories
RUN apk add --update --no-cache py3-arrow
Run Code Online (Sandbox Code Playgroud)