
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
내부에 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