在 alpine linux 上安装 miniconda 失败

Installing miniconda on alpine linux fails

我一直在尝试在 Alpine linux docker 图像上安装 miniconda。我失败的最小 "working" 示例可以用 Docker 重现如下:

docker run --rm -it alpine sh
/ # apk update && apk add ca-certificates wget && update-ca-certificates
/ # wget https://repo.continuum.io/miniconda/Miniconda3-4.3.27-Linux-x86_64.sh -O ~/miniconda.sh
/ # sh miniconda.sh -b 
PREFIX=/root/miniconda3
installing: python-3.6.2-h02fb82a_12 ...
/root/miniconda.sh: line 361: /root/miniconda3/pkgs/python-3.6.2-h02fb82a_12/bin/python: not found

它寻找的文件在那里,但是:

/ # ls /root/miniconda3/pkgs/python-3.6.2-h02fb82a_12/bin/python
/root/miniconda3/pkgs/python-3.6.2-h02fb82a_12/bin/python

我将不胜感激对此错误的一些见解。我不知道接下来要尝试什么

根据@VladFrolov 的说法,anaconda 的 python 链接到 glibc,这在 alpine 中不可用。有关他如何使用 conda 构建 alpine 图像的更多详细信息,请查看 https://github.com/frol/docker-alpine-miniconda3

PS:看起来@VladFrolov 现在维护 miniconda3:alpine 官方形象 https://github.com/ContinuumIO/docker-images/blob/master/miniconda3/alpine/Dockerfile(感谢指出 @rpanai)

您可以在 运行 ./miniconda.sh -b:

之前添加这个
apk --update add \
bash \
curl \
wget \
ca-certificates \
libstdc++ \
glib \
&& wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-node-bower/master/sgerrand.rsa.pub \
&& curl -L "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.23-r3/glibc-2.23-r3.apk" -o glibc.apk \
&& apk add glibc.apk \
&& curl -L "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.23-r3/glibc-bin-2.23-r3.apk" -o glibc-bin.apk \
&& apk add glibc-bin.apk \
&& curl -L "https://github.com/andyshinn/alpine-pkg-glibc/releases/download/2.25-r0/glibc-i18n-2.25-r0.apk" -o glibc-i18n.apk \
&& apk add --allow-untrusted glibc-i18n.apk \
&& /usr/glibc-compat/bin/localedef -i en_US -f UTF-8 en_US.UTF-8 \
&& /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc/usr/lib \
&& rm -rf glibc*apk /var/cache/apk/*