有关在docker alpine linux基础映像上设置glibc的最佳实践吗?

问题描述 投票:25回答:3

是否有最佳实践在docker alpine linux基础映像上设置glibc并使用正确的路径,以便任何生成的进程可以正确引用已安装的libc库的位置?

docker glibc alpine
3个回答
20
投票

就在这里,

我使用了自定义构建的glibc来安装JRE。

你可以找到它here

你可以使用wget或curl来获取代码和apk来安装它们

更新的命令见下面的评论

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

它对我来说很完美


3
投票

apk add libgcc

这似乎使glibc可用。这会将图像的大小增加几MB。


1
投票

最佳做法是不在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
© www.soinside.com 2019 - 2024. All rights reserved.