외부 레지스트리의 이미지를 Harbor 를 거쳐 받고, 받은 것을 Harbor 에 캐시해 두는 기능이다. 같은 이미지를 다시 받을 때는 외부로 나가지 않는다. Docker Hub 의 pull 횟수 제한을 피하거나, 외부 접속이 느린 망에서 쓴다.
Harbor · Docker Hub · Docker registry · AWS ECR · Azure Container Registry · Google Container Registry · Quay · GitHub Container Registry · JFrog Artifactory 를 캐시 대상으로 삼을 수 있다.
캐시할 외부 레지스트리를 엔드포인트로 먼저 등록한다.
프로젝트 화면에서 New Project 를 누르고, Proxy Cache 스위치를 켠 뒤 드롭다운에서 1에서 만든 엔드포인트를 고른다.
경로에 프록시 프로젝트 이름을 넣어 받는다.
docker pull <harbor_server_name>/<proxy_project_name>/image_name
예를 들어 Docker Hub 를 dockerhub 라는 프록시 프로젝트로 걸어 두었다면 이렇게 된다.
docker pull harbor.example.net/dockerhub/library/nginx:1.27
| 항목 | 내용 |
|---|---|
| 푸시 | 불가. 프록시 캐시 프로젝트는 읽기 전용이다 |
| 보존 정책 | 새 프록시 캐시 프로젝트마다 7일 보존 정책이 자동으로 걸린다 |
| 접근 범위 | 엔드포인트에 등록한 계정이 받을 수 있는 이미지만 캐시된다 |
신뢰 범위 안의 엔드포인트만 등록하고, 상위 레지스트리 접근 계정은 필요한 최소 권한만 준다.