CentOS on Docker:如何安装 doc 文件?

Abu*_*akr 5 centos yum docker

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

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

有没有办法通过yum安装丢失的文件?


更新

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

docker run -t -i centos:centos6 /bin/bash
Run Code Online (Sandbox Code Playgroud)

在里面,安装 yum-utils 包:

yum install -y yum-utils
Run Code Online (Sandbox Code Playgroud)

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

repoquery -l yum-utils
Run Code Online (Sandbox Code Playgroud)

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

Abu*_*akr 11

我发现了为什么没有安装文档:它不是 Docker 的一个特性,而是 CentOS Docker 镜像的一个特性。Yum 和 rpm 配置都包含阻止安装的选项。可以通过将以下几行添加到 Dockerfile 来禁用它们:

RUN sed -i '/excludedocs/d' /etc/rpm/macros.imgcreate
RUN sed -i '/nodocs/d' /etc/yum.conf
Run Code Online (Sandbox Code Playgroud)