내 잡다한 노트
도커 레포지토리와 레지스터 본문
컨테이너 이미지를 저장하고 배포하기 위해 Registry와 Repository를 사용한다.
Registry는 도커 이미지를 저장하는 서버이다.
Repository는 레지스트리 내에서 특정 이미지의 버전들을 관리하는 단위이다. 각 레포지토리는 여러 버전(태그)을 저장한다. 예를 들어, nginx 라는 레포지토리 안에는 nginx:latest, nginx:1.19, nginx:1.18 등과 같은 여러 버전의 이미지가 있을 수 있다.
Registry에는 하나 이상의 Docker Repository를 포함할 수 있다.
이미지를 저장하고 관리하며, 이미지의 push 및 pull 요청을 처리한다.
Docker hub가 유명한 공용 Registry이다. 우리가 도커 명령어로 pull을 해올 때 여기서 이미지를 다운받게 된다.
사설 레지스트리도 운영할 수 있는데, 조직 내에서만 사용할 수 있는 것이다.
예를 들어, AWS의 ECR, Google의 GCR, Azure의 ACR 등이 있다.
Repository
특정 이미지의 여러 버전을 저장하는 장소이다.
특정 이미지의 tag를 통해 버전을 관리한다. 각 태그는 특정 버전의 이미지를 가리킨다.
예를 들어, nginx 레포지토리에는 nginx:latest 가 있고, nginx:1.19.6, nginx:alpine 등의 태그가 존재하며
각각은 다른 버전을 가지고 있다.
회사에 사설 Registry를 운영할 까 생각중이다.
레지스트리를 운영할 때 이점을 정리하고자 한다.
1. 보안 강화
- 사용자가 레지스트리에 접근할 수 있는 권한을 세부적으로 제어할 수 있다. 특정 팀이나 사용자에게만 접근 권한을 부여 할 수 있다.
2. 성능 향상
- 네트워크 대역폭 절감 : 로컬 네트워크에서 이미지를 저장하고 가져오기 때문에, 인터넷을 통한 대규모 데이터 전송을 줄일 수 있다.
- 빠른 배포 : 이미지 다운로드 및 업로드 속도가 로컬 네트워크 내에서 이루어지므로, 컨테이너를 더 빠르게 배포할 수 있다.
3. 커스터마이징
- 환경 맞춤 설정 : 조직의 필요에 맞게 레지스트리를 구성할 수 있다. 예를 들어, 특정 CI/CD 파이프라인과 통합하거나, 사용자 정의 인증 메커니즘을 적용할 수 있다.
- 플러그인 및 확장성 : 추가 기능을 설치하여 레지스트리 기능을 확장할 수 있다. 이미지 서명, 스캐닝 도구 등을 통합할 수 있다.
4. 지속적인 통합 및 매포
- CI/CD 파이프라인의 일환으로 사설 레지스트리를 사용하여 이미지 빌드, 테스트, 배포 과정을 자동화할 수 있다.
'DevOps > docker' 카테고리의 다른 글
도커 이미지의 보안을 지켜야하는 이유 (1) | 2024.10.08 |
---|---|
/var/lib/docker/overlay2 (0) | 2024.08.09 |
도커 디스크 용량 확보 prune (0) | 2024.06.27 |
docker swarm 실습 (0) | 2024.06.08 |
도커 네트워크에 대해 간단히 알아보기 (0) | 2023.11.09 |