Dmy*_*iuk 1 git docker alpine-linux
我正在围绕 Git 开发一个名为Elegant Git的包装器,并希望在多个 Git 版本上运行测试。由于该项目使用 Docker 容器进行测试,我准备了一个 Dockerfile,它从源代码安装 Git 并得到奇怪的结果:
apk add git~ 28Mb安装 Git 的 Apline 图像它反映了每个创建的二进制文件的大小
Build version:
18.6M /git/usr/libexec/git-core/git
apk version:
2.4M /usr/libexec/git-core/git
Run Code Online (Sandbox Code Playgroud)
在从源代码构建 Git 时,有没有办法减小二进制文件的大小?
以下Dockerfile重现了该行为:
ARG bashversion=3.2.57
FROM bash:${bashversion}
ARG gitversion=2.26.2
WORKDIR /git
RUN apk add --no-cache curl && \
curl --output git-${gitversion}.tar.gz \
https://mirrors.edge.kernel.org/pub/software/scm/git/git-${gitversion}.tar.gz && \
tar -xvzf git-${gitversion}.tar.gz && \
mkdir -p /git
RUN apk add --no-cache \
zlib-dev \
openssl-dev \
curl-dev \
expat-dev \
perl-dev \
python3-dev \
pcre2-dev \
asciidoc \
xmlto \
perl-error tcl tk make gcc g++
RUN cd git-${gitversion} && \
make prefix=/usr DESTDIR=/git NO_GETTEXT=YesPlease NO_REGEX=YesPlease ICONV_OMITS_BOM=Yes && \
make prefix=/usr DESTDIR=/git NO_GETTEXT=YesPlease NO_REGEX=YesPlease ICONV_OMITS_BOM=Yes install
RUN apk add --no-cache git && \
echo "Build version: " && \
du -ha /git/usr/libexec/git-core/git | sort && \
echo "apk version: " && \
du -ha /usr/libexec/git-core/git | sort
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |