일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sql 공유
- 쿠버네티스교과서
- React Native
- describe-instances
- kubectl
- statefulset
- amazon ebs활용
- Ansible
- k8s
- aws cli
- 서버간 파일전송
- private repostiroy
- jenkins parameter
- docker myql
- linux 파일복사
- kubectl명령어
- SecurityContextHolder
- docker
- aws cli ec2
- cli ec2
- pod
- Configmap
- yaml예시
- 쿠버네티스
- amazon ebs종류
- 명령어
- EC2
- ELB
- nexus proxy
- amazon ebs
- Today
- Total
게으름을 위한 부지런한 게으름뱅리' 블로그
[Nexus] 여러 docker proxy repository를 group화 하기 본문
Sonatype Nexus Repository Manager에서는 여러 Docker Proxy 리포지토리를 생성하고 이를 그룹화하여 하나의 엔드포인트로 사용할 수 있습니다. 이 기능을 활용하면 여러 Docker Proxy 리포지토리를 통합하여 하나의 그룹 리포지토리에서 접근할 수 있게 됩니다. 다음은 Sonatype Nexus에서 Docker Proxy 리포지토리를 여러 개 설정하고 이를 그룹화하는 방법을 단계별로 설명합니다.
1. 여러 Docker Proxy 리포지토리 설정
1.1. Docker Proxy Repository 생성
- Nexus 웹 UI에서 ‘Repositories’로 이동합니다.
- ‘Create repository’를 클릭합니다.
- ‘Docker (proxy)’를 선택합니다.
- Proxy Repository 설정을 입력합니다:
- Name: docker-proxy-hub (예: Docker Hub를 위한 Proxy)
- Remote Storage Location: https://registry-1.docker.io (Docker Hub의 주소)
- HTTP Port: 5001 (또는 원하는 포트 번호)
- Version: v2
- Save를 클릭하여 저장합니다.
- 추가로 다른 Docker Proxy 리포지토리도 생성합니다.
- Name: docker-proxy-private (사설 레지스트리의 Proxy)
- Remote Storage Location: https://some-private-registry.com
- HTTP Port: 5002
- Version: v2
- Save를 클릭하여 저장합니다.
예를 들어, https://some-private-registry.com을 사용하는 Proxy 리포지토리를 추가할 수 있습니다.
2. Docker Proxy 리포지토리 그룹화
여러 개의 Docker Proxy 리포지토리를 그룹화하여 하나의 그룹 리포지토리에서 사용할 수 있습니다. 이 방법을 통해 여러 Proxy 리포지토리에서 이미지를 통합적으로 관리할 수 있습니다.
2.1. Docker Group Repository 생성
- Nexus 웹 UI에서 ‘Repositories’로 이동합니다.
- ‘Create repository’를 클릭합니다.
- ‘Docker (group)’를 선택합니다.
- Group Repository 설정을 입력합니다:
- Name: docker-group (이름은 자유롭게 설정할 수 있습니다.)
- HTTP Port: 5003 (또는 원하는 포트 번호)
- Version: v2
- Member Repositories: docker-proxy-hub, docker-proxy-private (앞서 생성한 Proxy 리포지토리들을 추가합니다.)
- Save를 클릭하여 저장합니다.
2.2. Docker Group Repository 활용
docker-group 리포지토리를 통해 모든 Proxy 리포지토리에 접근할 수 있습니다.
docker pull localhost:5003/library/ubuntu:latest
docker pull localhost:5003/myapp:latest
2.3. Group Repository의 동작 방식
- 첫 번째 요청: docker-group 리포지토리로 요청하면, Nexus는 리포지토리 목록에서 순서대로 검색을 진행합니다.
- 캐시 저장: 요청된 이미지는 가장 먼저 찾은 리포지토리에서 캐시됩니다.
- 이미지 확인: 요청된 이미지가 존재하지 않으면, docker-proxy-hub → docker-proxy-private 순서로 검색합니다.
3. Group Repository의 우선순위 설정
리포지토리의 우선순위를 설정하여 검색 순서를 변경할 수 있습니다. Nexus의 그룹 리포지토리 설정에서 우선순위를 조정하여 다음과 같이 설정할 수 있습니다:
- Nexus 웹 UI에서 ‘Repositories’로 이동합니다.
- ‘docker-group’를 클릭하여 그룹 리포지토리 설정 페이지로 이동합니다.
- ‘Reorder’ 버튼을 클릭하여 리포지토리의 순서를 조정합니다.
- 여기서 docker-proxy-hub를 docker-proxy-private보다 앞에 배치하여 Docker Hub를 먼저 검색하도록 할 수 있습니다.
4. Docker Group Repository의 설정 검증
4.1. 설정 검증
Group Repository의 설정이 완료되면, Docker 클라이언트를 사용하여 다음과 같은 명령어로 이미지를 가져와 테스트할 수 있습니다.
docker pull localhost:5003/library/ubuntu:latest
docker pull localhost:5003/myapp:latest
4.2. 이미지 확인
Nexus 웹 UI에서 ‘Browse’ 탭으로 이동한 후 ‘docker-group’ 리포지토리를 클릭하여 이미지 목록을 확인할 수 있습니다.
4.3. 문제 해결
- 404 오류: 해당 이미지가 존재하지 않는 경우입니다. Nexus의 로그를 확인하여 문제를 진단합니다.
- 401 오류: 인증 문제가 발생할 수 있습니다. Docker 클라이언트에서 docker login 명령어로 다시 로그인합니다.
5. 고급 설정 및 추가 자료
5.1. Docker Repository 리포지토리 복제
여러 환경에서 동일한 설정을 사용해야 하는 경우, 기존 리포지토리를 복제하여 새로운 리포지토리를 만들 수 있습니다.
5.2. 추가 자료
- Sonatype Nexus Repository Manager 3 Documentation
- Sonatype Nexus에서 Docker Repository 설정하기
- Docker 공식 문서: Docker Registry
요약
Sonatype Nexus에서 여러 Docker Proxy 리포지토리를 생성하고 이를 Group Repository로 통합하는 과정은 다음과 같습니다.
- Docker Proxy Repository 여러 개 생성 (예: Docker Hub, 사설 레지스트리 등)
- Docker Group Repository 생성하여 Proxy 리포지토리들을 통합
- Group Repository를 통해 모든 Proxy 리포지토리에 접근할 수 있음
- 우선순위를 설정하여 검색 순서를 조정
- 테스트 및 검증을 통해 설정이 제대로 되었는지 확인
'IT > Service' 카테고리의 다른 글
[Algoria] 30분만에 사용자가이드에 Algolia 적용하기(Docsearch) (0) | 2020.12.21 |
---|