
Я пытаюсь установить Kolab groupware в контейнер 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, а Docker-образа CentOS. Конфигурации Yum и rpm содержат опции, которые мешают установке. Их можно отключить, добавив следующие строки в Dockerfile:
RUN sed -i '/excludedocs/d' /etc/rpm/macros.imgcreate
RUN sed -i '/nodocs/d' /etc/yum.conf