我正在嘗試使用一些工具做一個容器,其中之一是git。
我需要git 1.8.4.2,我從這里下載了壓縮包
https://github.com/git/git/archive/v1.8.4.2.tar.gz
首先嘗試在 vanilla centos:7容器中進行所有設定以進行測驗,并且效果非常好。
問題是當我使用命令構建容器時,它會安裝 git 1.8.4.1。這個版本可能適用于我將要做的事情,但我很好奇如果我使用相同的 tarball 和相同的命令會發生這種情況。
這是我的 Dockerfile
FROM centos:7
## Installing git 1.8.4.2
RUN yum -y install gcc make
RUN yum -y install wget zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
RUN wget -O v1.8.4.2.tar.gz https://github.com/git/git/archive/v1.8.4.2.tar.gz
RUN tar -xzvf ./v1.8.4.2.tar.gz
RUN cd git-1.8.4.2/ \
make prefix=/usr/local all \
make prefix=/usr/local install
構建容器時的輸出
[root@adbc2f7ab54f git-1.8.4.2]# git --version
git version 1.8.3.1
當我手動執行時輸出
root@adbc2f7ab54f git-1.8.4.2]# git --version
git version 1.8.4.2
uj5u.com熱心網友回復:
您的最后三行Dockerfile指定一個命令:
cd git-1.8.4.2/ make prefix=/usr/local all make prefix=/usr/local install
...這是行不通的。結果 git 1.8.4.2 沒有被編譯,它沒有被安裝,并且容器中的 git 版本是 CentOS 7 (1.8.3.1) 附帶的版本。
您需要&&在三個命令之間添加:
RUN cd git-1.8.4.2/ \
&& make prefix=/usr/local all \
&& make prefix=/usr/local install
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/431606.html
