CentOS на Docker: как установить файлы doc?
Я пытаюсь установить групповую программу Kolab в контейнере Docker на основе CentOS 6.5. На первый взгляд установка официальных пакетов вроде бы работала без проблем. Но потом, когда я попытался запустить скрипт установки, произошло несколько ошибок. Проведя некоторые исследования, я обнаружил, что сценарий установки пытается использовать файл схемы 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