2.5.4. 레지스트리 설정 덮어쓰기
실행 중인 레지스트리 컨테이너의 /config.yml 에 기본적으로 있는 통합 레지스트리의 기본 구성을 자체 사용자 지정 구성으로 재정의할 수 있습니다.
이 파일의 업스트림 구성 옵션은 환경 변수를 사용하여 재정의할 수도 있습니다. 미들웨어 섹션 은 환경 변수를 사용하여 재정의할 수 있는 몇 가지 옵션만 있으므로 예외입니다. 특정 구성 옵션을 재정의하는 방법을 알아봅니다.
레지스트리 구성 파일의 관리를 직접 활성화하고 ConfigMap
을 사용하여 업데이트된 구성을 배포하려면 다음을 수행합니다.
- 레지스트리를 배포합니다.
필요에 따라 레지스트리 구성 파일을 로컬로 편집합니다. 레지스트리에 배포된 초기 YAML 파일은 아래에 제공됩니다. 지원되는 옵션 검토.
레지스트리 설정 파일
version: 0.1 log: level: debug http: addr: :5000 storage: cache: blobdescriptor: inmemory filesystem: rootdirectory: /registry delete: enabled: true auth: openshift: realm: openshift middleware: registry: - name: openshift repository: - name: openshift options: acceptschema2: true pullthrough: true enforcequota: false projectcachettl: 1m blobrepositorycachettl: 10m storage: - name: openshift openshift: version: 1.0 metrics: enabled: false secret: <secret>
이 디렉터리의 각 파일의 콘텐츠를 보관하는
ConfigMap
을 생성합니다.$ oc create configmap registry-config \ --from-file=</path/to/custom/registry/config.yml>/
registry-config ConfigMap을 레지스트리 배포 구성에 볼륨으로 추가하여 /etc/docker/registry/ 에 사용자 정의 구성 파일을 마운트합니다.
$ oc set volume dc/docker-registry --add --type=configmap \ --configmap-name=registry-config -m /etc/docker/registry/
레지스트리의 배포 구성에 다음 환경 변수를 추가하여 이전 단계의 구성 경로를 참조하도록 레지스트리를 업데이트합니다.
$ oc set env dc/docker-registry \ REGISTRY_CONFIGURATION_PATH=/etc/docker/registry/config.yml
이 작업은 원하는 구성을 수행하기 위해 반복 프로세스로 수행할 수 있습니다. 예를 들어 문제를 해결하는 동안 구성이 일시적으로 업데이트되어 디버그 모드가 될 수 있습니다.
기존 구성을 업데이트하려면 다음을 수행합니다.
이 절차에서는 현재 배포된 레지스트리 구성을 덮어씁니다.
- 로컬 레지스트리 구성 파일 config.yml 을 편집합니다.
registry-config configmap을 삭제합니다.
$ oc delete configmap registry-config
업데이트된 구성 파일을 참조하도록 configmap을 다시 생성합니다.
$ oc create configmap registry-config\ --from-file=</path/to/custom/registry/config.yml>/
업데이트된 구성을 읽기 위해 레지스트리를 재배포합니다.
$ oc rollout latest docker-registry
소스 제어 리포지토리의 구성 파일을 유지 관리합니다.