Docker 上的 CentOS:如何安装 doc 文件?

Docker 上的 CentOS:如何安装 doc 文件?

我正在尝试在基于 CentOS 6.5 的 Docker 容器中安装 Kolab 组件。乍一看,官方软件包的安装似乎没有问题。但之后,当我尝试运行安装脚本时,出现了几个错误。经过一番研究,我发现安装脚本尝试使用位于 中的 sql 模式文件/usr/share/doc/kolab-webadmin-3.1.5。根据repoquery -l kolab-webadmin,sql 文件确实包含在软件包中。但是,它没有安装。

我怀疑这在某种程度上是 Docker 的一个“功能”,它试图避免将不必要的文档文件安装到容器中,但却找不到有关它的任何信息。

有没有办法通过 yum 安装缺少的文件?


更新

下面是一个最小的例子来说明这个问题:首先创建一个新的 centos 容器:

docker run -t -i centos:centos6 /bin/bash

在里面安装 yum-utils 包:

yum install -y yum-utils

之后,如果你使用 repoquery 检查 yum-utils 包的内容

repoquery -l yum-utils

您会注意到,该软件包包含 /usr/share/doc/yum-utils-1.1.30 下的文件。但是,此文件夹不存在。

答案1

我发现了文档未安装的原因:它不是 Docker 的功能,而是 CentOS Docker 映像的功能。Yum 和 rpm 配置都包含阻止安装的选项。可以通过在 Dockerfile 中添加以下行来禁用它们:

RUN sed -i '/excludedocs/d' /etc/rpm/macros.imgcreate
RUN sed -i '/nodocs/d' /etc/yum.conf

相关内容