레지스트리 미러 구성

레지스트리 미러 구성 (Configure a registry mirror)

샌드박스 템플릿과 OCI 키트의 Docker Hub pull을 조직의 레지스트리 미러로 라우팅하는 방법을 알아볼게요.

출처: 문서

본문

이 페이지는 로컬 샌드박스를 설명해요. 클라우드 동작과 제한 사항은 로컬과 클라우드 샌드박스 비교 문서를 보세요.

레지스트리 미러는 샌드박스 템플릿과 OCI 키트의 Docker Hub pull을 조직의 레지스트리 인프라로 라우팅해요. 미러가 Docker Engine의 요구사항을 충족하면 샌드박스 안의 Docker도 그것을 사용해요.

미러 구성하기 (Configure the mirror)

platform.images.registryMirror를 미러 호스트로 설정해요. 필요하면 포트를 포함하고, URL 스킴은 생략해요:

$ sbx settings set platform.images.registryMirror registry.example.com

저장소 경로 아래에 미러링된 Docker Hub 콘텐츠를 저장하는 레지스트리라면 경로 접두사를 포함할 수 있어요:

$ sbx settings set platform.images.registryMirror registry.example.com/docker-remote

Docker Sandboxes는 Docker Hub로 해석되는 이미지 참조를 리다이렉트하고 그 저장소 경로, 태그, 다이제스트를 보존해요. 다른 레지스트리를 명시적으로 이름 짓는 참조는 변경되지 않아요.

미러가 인증을 요구하면 미러 호스트용 레지스트리 자격 증명을 구성하세요.

샌드박스 안에서 Docker pull 미러링 (Mirror Docker pulls inside the sandbox)

설정에 경로 접두사가 없는 non-loopback 호스트가 있으면 Docker Sandboxes가 샌드박스 안의 Docker Engine에 같은 미러를 사용하도록 설정해요.

미러 설정 (Mirror setting) 템플릿·OCI 키트 pull 샌드박스 안 Docker pull
registry.example.com 미러링됨 미러링됨
registry.example.com:5000 미러링됨 미러링됨
registry.example.com/docker-remote 미러링됨 미러링되지 않음
localhost:5000 또는 127.0.0.1 미러링됨 미러링되지 않음

루프백 주소는 그 네트워크 네임스페이스 안에서 샌드박스 자신을 가리키므로, Docker Sandboxes는 그것을 샌드박스의 Docker Engine 구성에 추가하지 않아요. 경로 접두사도 제외되는데, Docker Engine이 미러 URL 경로를 이미지 저장소 접두사와 다르게 해석하기 때문이에요.

Docker Engine은 미러에 HTTPS로 연결하므로 샌드박스가 미러가 제시하는 인증서를 신뢰해야 해요. 내부 인증 기관을 쓰는 미러라면 CA를 샌드박스의 시스템 신뢰 저장소에 추가하세요. Install an internal CA certificate 문서를 보세요.

템플릿과 키트 pull은 변경된 설정을 즉시 사용해요. 기존 샌드박스는 만들어질 때의 Docker Engine 미러 구성을 유지해요. 바뀐 미러를 샌드박스 안 Docker에 적용하려면 샌드박스를 다시 만들으세요.

미러 비활성화하기 (Disable the mirror)

설정을 해제해 미러링을 비활성화해요:

$ sbx settings unset platform.images.registryMirror

빈 설정 값도 미러링을 비활성화해요. 기존 샌드박스를 다시 만들어 Docker Engine 구성에서 미러를 제거하세요.

더 알아보기 (Learn more)

관련 문서와 심화 내용은 원문을 참고해 주세요.