在docker alpine linux基础映像上设置glibc,使其具有正确的路径,以便任何派生的进程都可以正确地引用已安装的libc库的位置,这方面有什么最佳实践吗?
iklwldmw1#
是的有,我使用了一个定制的glibc来安装JRE。您可以找到它here你可以用wget或者curl来获取代码,用apk来安装它们
UPDATED命令参见下面的注解
apk --no-cache add ca-certificates wget wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk apk add glibc-2.28-r0.apk
对我来说效果很好
c0vxltue2#
到目前为止,安装glibc兼容库对我来说每次都很有效apk add gcompathttps://pkgs.alpinelinux.org/package/edge/community/x86_64/gcompat
apk add gcompat
mcvgt66p3#
最好的做法是不要在Alpine Linux上安装glibc,而是使用musl libc,这是一个轻量级、快速、简单且符合标准的C库(即glibc所不具备的一切)。不要在Alpine上安装glibc,而是为Alpine构建和/或打包您的相关软件包和库。
FROM alpine:3.4 RUN echo "http://dl-cdn.alpinelinux.org/alpine/latest-stable/main" > /etc/apk/repositories RUN echo "http://dl-cdn.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories RUN apk --no-cache --update-cache add gcc gfortran python python-dev py-pip build-base wget freetype-dev libpng-dev openblas-dev RUN ln -s /usr/include/locale.h /usr/include/xlocale.h RUN pip install numpy scipy pandas matplotlib
qkf9rpyu4#
我已经创建了一个github repo Docker build for glibc for alpine,支持多架构,即x86_64,aarch64等。你可以从最新的glibc源代码构建任何CPU类型,只需一行命令。它是从sgerrand's repo派生的,我修改为支持多架构,并将构建阶段和打包阶段合并到一行中。或者你可以从发布页面下载预构建的包。
iyr7buue5#
使用如下
RUN apk add --no-cache gcompat libstdc++
5条答案
按热度按时间iklwldmw1#
是的有,
我使用了一个定制的glibc来安装JRE。
您可以找到它here
你可以用wget或者curl来获取代码,用apk来安装它们
UPDATED命令参见下面的注解
对我来说效果很好
c0vxltue2#
到目前为止,安装glibc兼容库对我来说每次都很有效
apk add gcompat
https://pkgs.alpinelinux.org/package/edge/community/x86_64/gcompat
mcvgt66p3#
最好的做法是不要在Alpine Linux上安装glibc,而是使用musl libc,这是一个轻量级、快速、简单且符合标准的C库(即glibc所不具备的一切)。
不要在Alpine上安装glibc,而是为Alpine构建和/或打包您的相关软件包和库。
qkf9rpyu4#
我已经创建了一个github repo Docker build for glibc for alpine,支持多架构,即x86_64,aarch64等。你可以从最新的glibc源代码构建任何CPU类型,只需一行命令。它是从sgerrand's repo派生的,我修改为支持多架构,并将构建阶段和打包阶段合并到一行中。或者你可以从发布页面下载预构建的包。
iyr7buue5#
使用如下