centos中dockerrpm的源码哪里找?

Where can I find the souce code of docker rpm in centos?

我用的是centos7,docker rpms的版本是

[root@node-6 ~]# rpm -qa | grep docker

docker-common-1.13.1-63.git94f4240.el7.centos.x86_64

docker-client-1.13.1-63.git94f4240.el7.centos.x86_64

docker-1.13.1-63.git94f4240.el7.centos.x86_64

我从github下载了docker1.13的源码,发现和服务器打印的日志不符。好像RHEL/CENT OS对他们提供的docker做了很多修改。我在 google 和 centos rpm git 上搜索了很多,但没有成功。

“centos版”docker是开源的吗?如果是这样,我在哪里可以找到源代码?

默认情况下,Docker 由 CentOS-extras 存储库提供。以下是您可能希望熟悉的一些命令:

# To search everything 'docker' related
yum search docker

# Once found interesting package...
yum info docker

在正常实例(即没有导入任何 extraneous/third-party 存储库)上,输出应类似于以下内容

Available Packages
Name        : docker
Arch        : x86_64
Epoch       : 2
Version     : 1.13.1
Release     : 96.gitb2f74b2.el7.centos
Size        : 18 M
Repo        : extras/7/x86_64
Summary     : Automates deployment of containerized applications
URL         : https://github.com/docker/docker
License     : ASL 2.0
Description : Docker is an open-source engine that automates the deployment of any
            : application as a lightweight, portable, self-sufficient container that will
            : run virtually anywhere.
            : 
            : Docker containers can encapsulate any payload, and will run consistently on
            : and between virtually any server. The same container that a developer builds
            : and tests on a laptop will run at scale, in production*, on VMs, bare-metal
            : servers, OpenStack clusters, public instances, or combinations of the above.

然后,为了(大部分时间)获取特定 rpm 的源码包,请尝试以下命令(假设您之前已经安装了 yum-utils

# Disable all repos, enable the one we have eyes on, set 'source only' and download
yumdownloader --disablerepo=\* --enablerepo=extras --source docker

这是命令的输出

Initializing download: http://vault.centos.org/centos/7/extras/Source/SPackages/docker-1.13.1-96.gitb2f74b2.el7.centos.src.rpm
File size: 14604391 bytes
Opening output file ./docker-1.13.1-96.gitb2f74b2.el7.centos.src.rpm
Starting download

Connection 2 finished                                                          ] 41% [============================-                                         ]  0.0 B/s | 5.8 MB  --:--:-- ETA 
Connection 4 finished                                                          ]
Connection 0 finished                                                          ]
Connection 1 finished                                                          ]
[100%] [..................................................] [  14.6MB/s] [00:00]100% [======================================================================] 8.1 MB/s |  14 MB  00:00:00 ETA 

Downloaded 13.9 megabytes in 0 seconds. (14921.07 KB/s)
docker-1.13.1-96.gitb2f74b2.el7.centos.src.rpm                                                                                                                         |  14 MB  00:00:01     

下载文件后,您可以将其解压缩或使用 rpm 安装以访问内容。 Midnight Commander 还可以 list/view/copy/extract 大多数 rpm 存档到您选择的目录。

rpm -Uvh docker-1.13.1-96.gitb2f74b2.el7.centos.src.rpm
Updating / installing...
   1:docker-2:1.13.1-96.gitb2f74b2.el7################################# [100%]

这些文件应该已经安装在 $HOME/rpmbuild SPECS 文件夹将包含规格文件,SOURCES 将包含已编译的源代码以创建所述包。

在此实例中,源代码文件位于 $HOME/rpmbuild/SOURCES/b2f74b220126bddbae585cfe2406498ced3ae065.tar.gz

用于创建 rpm 包的 specfile 也很有趣。在该文件中,您将选择 things/modifications prior/post 对包维护者或发布者 'exclusive' 的特殊编译。