
Ich versuche, die Kolab-Groupware in einem Docker-Container auf Basis von CentOS 6.5 zu installieren. Auf den ersten Blick schien die Installation der offiziellen Pakete problemlos zu funktionieren. Doch als ich anschließend versuchte, das Setup-Skript auszuführen, traten mehrere Fehler auf. Nach einigen Recherchen fand ich heraus, dass das Setup-Skript versucht, eine SQL-Schemadatei zu verwenden, die sich im befindet /usr/share/doc/kolab-webadmin-3.1.5
. Laut repoquery -l kolab-webadmin
ist die SQL-Datei tatsächlich im Paket enthalten. Sie ist jedoch nicht installiert.
Ich vermute, dass es sich hierbei um eine „Funktion“ von Docker handelt, die die Installation unnötiger Dokumentationsdateien in den Container vermeiden soll, konnte dazu jedoch keine Informationen finden.
Gibt es eine Möglichkeit, die fehlenden Dateien über Yum zu installieren?
Aktualisieren:
Hier ist ein Minimalbeispiel zur Veranschaulichung des Problems: Erstellen Sie zuerst einen neuen CentOS-Container:
docker run -t -i centos:centos6 /bin/bash
Installieren Sie darin das Paket yum-utils:
yum install -y yum-utils
Wenn Sie anschließend repoquery verwenden, um den Inhalt des yum-utils-Pakets zu überprüfen
repoquery -l yum-utils
Sie werden feststellen, dass das Paket Dateien unter /usr/share/doc/yum-utils-1.1.30 enthält. Dieser Ordner existiert jedoch nicht.
Antwort1
Ich habe herausgefunden, warum die Dokumente nicht installiert werden: Es ist keine Funktion von Docker, sondern des CentOS Docker-Images. Sowohl Yum- als auch RPM-Konfigurationen enthalten Optionen, die die Installation verhindern. Sie können deaktiviert werden, indem Sie der Docker-Datei die folgenden Zeilen hinzufügen:
RUN sed -i '/excludedocs/d' /etc/rpm/macros.imgcreate
RUN sed -i '/nodocs/d' /etc/yum.conf