如何在centos6.6 docker容器中安装make的最新版本

我想在docker容器中为centos6.6制作3.82或更新版本的make

[root@046f4766b93f build]# make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-redhat-linux-gnu 

有谁可以告诉我如何在centos6.6的docker容器中使用yum来安装最新的make版本?

 [root@046f4766b93f build]# yum install make Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.unifiedlayer.com * extras: centos.mirrors.hoobly.com * updates: mirrors.kernel.org Package 1:make-3.81-23.el6.x86_64 already installed and latest version Nothing to do 

您可以按照此页面上列出的步骤进行操作。 它使用位于Russian Fedora Fixes仓库中的CentOS 6制作的RPM,所以要注意这一点。

我试过这样,它的工作原理:

 # docker run --rm -it centos:6.6 bash [root@1857c0d2c37b /]# yum -y update [root@1857c0d2c37b /]# curl http://mirror.yandex.ru/fedora/russianfedora/russianfedora/fixes/el/releases/6/Everything/i386/os/russianfedora-fixes-release-6-2.R.noarch.rpm > russianfedora-fixes-release-6-2.R.noarch.rpm [root@1857c0d2c37b /]# rpm -Uvh russianfedora-fixes-release-6-2.R.noarch.rpm [root@1857c0d2c37b /]# yum install -y make 

之后, make的版本是3.82

 [root@1857c0d2c37b /]# make --version GNU Make 3.82 Built for x86_64-redhat-linux-gnu Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 

如果你想让它已经在一个容器中,只需要把这些命令放到Dockerfile就可以了:

 FROM centos:6.6 WORKDIR /root RUN yum -y update && yum clean all; \ curl http://mirror.yandex.ru/fedora/russianfedora/russianfedora/fixes/el/releases/6/Everything/i386/os/russianfedora-fixes-release-6-2.R.noarch.rpm > russianfedora-fixes-release-6-2.R.noarch.rpm && \ rpm -Uvh russianfedora-fixes-release-6-2.R.noarch.rpm && \ yum install -y make CMD bash 

然后build立和运行你的形象。

通过rpmfind.net查找包,从CentOS 7开始显示make 3.82 。 我也尝试安装一个,但有太多的未满足的依赖关系。