- 컨테이너 레지스트리 보기
- 컨테이너 레지스트리에서 컨테이너 이미지 사용
- 컨테이너 이미지의 명명 규칙
- 컨테이너 레지스트리 저장소 이동 또는 이름 변경
- 프로젝트의 컨테이너 레지스트리 비활성화
- 컨테이너 레지스트리의 가시성 변경
- 컨테이너 레지스트리 가시성 권한
- 지원되는 이미지 유형
GitLab 컨테이너 레지스트리
- 이미지 저장소 이름으로 검색하는 기능은 GitLab 13.0에 도입되었습니다.
각 GitLab 프로젝트의 컨테이너 이미지를 저장하려면 통합된 컨테이너 레지스트리를 사용할 수 있습니다.
GitLab 인스턴스에 컨테이너 레지스트리를 활성화하려면 관리자 설명서를 참조하세요.
컨테이너 레지스트리 보기
프로젝트 또는 그룹의 컨테이너 레지스트리를 볼 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 배포 > 컨테이너 레지스트리를 선택합니다.
컨테이너 이미지를 검색, 정렬, 필터링하고삭제할 수 있습니다. 브라우저에서 URL을 복사하여 필터링된 뷰를 공유할 수 있습니다.
비공개 프로젝트의 경우 프로젝트 또는 그룹의 구성원만 컨테이너 레지스트리에 액세스할 수 있습니다. 비공개 레지스트리에서 다운로드한 컨테이너 이미지는 인스턴스 러너의 다른 사용자에게 제공될 수 있습니다.
프로젝트가 공개되어 있는 경우 컨테이너 레지스트리도 공개됩니다.
특정 컨테이너 이미지의 태그 보기
컨테이너 레지스트리 태그 세부 정보 페이지를 사용하여 특정 컨테이너 이미지와 관련된 태그 목록을 볼 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 배포 > 컨테이너 레지스트리를 선택합니다.
- 컨테이너 이미지를 선택합니다.
각 태그에 대한 게시 날짜, 소비한 저장소 용량, 매니페스트 및 구성 다이제스트 등과 같은 각 태그에 대한 자세한 정보를 볼 수 있습니다.
이 페이지에서 태그를 검색, 정렬(태그 이름별), 필터링하고 삭제할 수 있습니다. 브라우저에서 URL을 복사하여 필터링된 뷰를 공유할 수 있습니다.
컨테이너 레지스트리에서 컨테이너 이미지 사용
컨테이너 레지스트리에 호스팅된 컨테이너 이미지를 다운로드하고 실행하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 배포 > 컨테이너 레지스트리를 선택합니다.
-
작업하려는 컨테이너 이미지를 찾고 복사를 선택합니다.
-
복사한 링크로
docker run을 사용합니다:docker run [옵션] registry.example.com/group/project/image [인자]
컨테이너 이미지를 실행하는 데 대한 자세한 정보는 Docker 문서를 참조하세요.
컨테이너 이미지의 명명 규칙
컨테이너 이미지는 다음과 같은 명명 규칙을 따라야 합니다:
<레지스트리 서버>/<네임스페이스>/<프로젝트>[/<선택적 경로>]
예를 들어, 프로젝트가 gitlab.example.com/mynamespace/myproject인 경우 컨테이너 이미지는 gitlab.example.com/mynamespace/myproject로 명명해야 합니다.
컨테이너 이미지 이름 뒤에 추가 이름을 최대 두 단계까지 추가할 수 있습니다.
예를 들어 myproject라는 프로젝트에 대한 컨테이너 이미지의 유효한 이름은 다음과 같습니다:
registry.example.com/mynamespace/myproject:some-tag
registry.example.com/mynamespace/myproject/image:latest
registry.example.com/mynamespace/myproject/my/image:rc1
컨테이너 레지스트리 저장소 이동 또는 이름 변경
푸시한 후에는 기존 컨테이너 레지스트리 저장소를 이동하거나 이름을 변경할 수 없습니다. 컨테이너 이미지는 저장소 경로와 일치하는 경로에 저장됩니다. 따라서 컨테이너 레지스트리를 가진 저장소를 이동하거나 이름을 바꾸려면 모든 기존 컨테이너 이미지를 삭제해야 합니다. 이 알려진 이슈에 대한 커뮤니티 제안은 18383번 이슈에서 공유되었습니다.
프로젝트의 컨테이너 레지스트리 비활성화
컨테이너 레지스트리는 기본적으로 활성화되어 있습니다.
그러나 프로젝트의 컨테이너 레지스트리를 제거할 수 있습니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 가시성, 프로젝트 기능, 권한 섹션을 확장하고 컨테이너 레지스트리를 비활성화합니다.
- 변경 사항 저장을 선택합니다.
프로젝트의 사이드바에서 배포 > 컨테이너 레지스트리 항목이 제거됩니다.
컨테이너 레지스트리의 가시성 변경
- GitLab 14.2에서 도입되었습니다.
기본적으로, 프로젝트에 액세스하는 모든 사람에게 컨테이너 레지스트리가 표시됩니다. 그러나 프로젝트의 컨테이너 레지스트리의 가시성을 변경할 수 있습니다.
사용자에게 이 설정이 부여하는 권한에 대한 자세한 정보는 컨테이너 레지스트리 가시성 권한을 참조하십시오.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 가시성, 프로젝트 기능, 권한 섹션을 펼칩니다.
-
컨테이너 레지스트리에서 드롭다운 목록에서 옵션을 선택합니다:
-
액세스 권한을 가진 모든 사용자 (기본값): 프로젝트에 액세스하는 모든 사람에게 컨테이너 레지스트리가 표시됩니다. 프로젝트가 공개되면 컨테이너 레지스트리도 공개됩니다. 프로젝트가 내부 또는 비공개이면 컨테이너 레지스트리도 내부 또는 비공개가 됩니다.
-
프로젝트 멤버만: 컨테이너 레지스트리는 적어도 기록자 역할을 가진 프로젝트 멤버만 볼 수 있습니다. 이 가시성은 액세스 권한을 가진 모든 사용자로 설정된 비공개 프로젝트의 동작과 유사합니다.
-
- 변경 사항 저장을 선택합니다.
컨테이너 레지스트리 가시성 권한
컨테이너 레지스트리의 보기 및 컨테이너 이미지를 검색하는 능력은 컨테이너 레지스트리의 가시성 권한에 의해 제어됩니다. 이 가시성을 UI에서 설정하는 것이나 API에서 설정하는 것을 통해 가시성을 변경할 수 있습니다. 컨테이너 레지스트리를 비활성화하면 모든 컨테이너 레지스트리 작업이 비활성화됩니다.
기타 권한은 컨테이너 레지스트리의 보기를 업데이트하고 컨테이너 이미지를 푸시하거나 삭제하는 것과는 관련이 없습니다. 그러나 컨테이너 레지스트리를 비활성화하면 모든 컨테이너 레지스트리 작업이 비활성화됩니다.
| 익명 (인터넷의 모든 사용자) | 게스트 | 기록자, 개발자, 유지보수자, 소유자 | ||
|---|---|---|---|---|
액세스 권한을 가진 모든 사용자로 설정된 공개 프로젝트의 컨테이너 레지스트리 가시성 (UI) 또는 enabled (API)
| 컨테이너 레지스트리 보기 및 이미지 가져오기 | 예 | 예 | 예 |
프로젝트 멤버만으로 설정된 공개 프로젝트의 컨테이너 레지스트리 가시성 (UI) 또는 private (API)
| 컨테이너 레지스트리 보기 및 이미지 가져오기 | 아니요 | 아니요 | 예 |
액세스 권한을 가진 모든 사용자로 설정된 내부 프로젝트의 컨테이너 레지스트리 가시성 (UI) 또는 enabled (API)
| 컨테이너 레지스트리 보기 및 이미지 가져오기 | 아니요 | 예 | 예 |
프로젝트 멤버만으로 설정된 내부 프로젝트의 컨테이너 레지스트리 가시성 (UI) 또는 private (API)
| 컨테이너 레지스트리 보기 및 이미지 가져오기 | 아니요 | 아니요 | 예 |
액세스 권한을 가진 모든 사용자로 설정된 비공개 프로젝트의 컨테이너 레지스트리 가시성 (UI) 또는 enabled (API)
| 컨테이너 레지스트리 보기 및 이미지 가져오기 | 아니요 | 아니요 | 예 |
프로젝트 멤버만으로 설정된 비공개 프로젝트의 컨테이너 레지스트리 가시성 (UI) 또는 private (API)
| 컨테이너 레지스트리 보기 및 이미지 가져오기 | 아니요 | 아니요 | 예 |
컨테이너 레지스트리가 disabled된 모든 프로젝트
| 컨테이너 레지스트리의 모든 작업 | 아니요 | 아니요 | 아니요 |
지원되는 이미지 유형
- OCI 적합성은 GitLab 16.6에서 도입되었습니다.
컨테이너 레지스트리는 Docker V2 및 Open Container Initiative (OCI) 이미지 형식을 지원합니다. 또한, 컨테이너 레지스트리는 OCI 배포 사양을 준수합니다.
OCI 지원은 레지스트리에서 Helm 3+ 차트 패키지와 같은 OCI 기반 이미지 형식을 호스팅할 수 있다는 것을 의미합니다. GitLab API 및 UI에서 이미지 형식 간에 구분이 없습니다. Issue 38047에서는 Helm을 시작으로 이미지 형식 사이의 차이에 대해 다룹니다.

도움말