Docker Hub의 불변 태그
Docker Hub의 불변 태그 (Immutable tags on Docker Hub)
한 번 Docker Hub에 게시되면 변경할 수 없는 이미지 태그인 불변 태그를 설정하고 사용하는 방법을 배워볼게요.
출처: 문서
본문
가용성: Beta
불변 태그(immutable tags)는 특정 이미지 버전이 Docker Hub에 게시된 후에도 변경되지 않도록 보장하는 방법을 제공해요. 이 기능은 중요한 이미지 버전이 실수로 덮어써지는 것을 방지해 컨테이너 배포에서 일관성과 신뢰성을 유지하는 데 도움이 돼요.
불변 태그란 무엇인가요?
불변 태그는 Docker Hub에 한 번 푸시되면 덮어쓰거나 삭제할 수 없는 이미지 태그예요. 이렇게 하면 특정 이미지 버전이 수명 내내 정확히 동일하게 유지되어 다음을 제공해요:
- 버전 일관성
- 재현 가능한 빌드
- 실수로 덮어쓰는 것에 대한 보호
- 더 나은 보안과 규정 준수
불변 태그 활성화
저장소에 불변 태그를 활성화하려면:
- Docker Hub 에 로그인해요.
- My Hub > Repositories 를 선택해요.
- 불변 태그를 활성화할 저장소를 선택해요.
- Settings > General 로 이동해요.
- Tag mutability settings 아래에서 다음 중 하나를 선택해요.
- All tags are mutable (Default): 태그를 변경해 다른 이미지를 참조할 수 있어요. 새 태그를 만들지 않고도 태그를 다시 대상으로 지정할 수 있어요.
- All tags are immutable: 태그는 생성 후 다른 이미지를 가리키도록 업데이트할 수 없어요. 일관성을 보장하고 실수로 변경되는 것을 방지해요.
latest태그도 포함해요. - Specific tags are immutable: 정규식 값을 사용해 생성 후 업데이트할 수 없는 특정 태그를 정의해요.
- Save 를 선택해요.
활성화하면 모든 태그가 특정 이미지에 고정되어, 각 태그가 항상 같은 이미지 버전을 가리키며 수정할 수 없게 돼요.
참고: 이 정규식 구현은 RE2 엔진을 기반으로 한 Go regexp 패키지 를 따르고 있어요. 자세한 내용은 RE2 Regular Expression Syntax 를 방문해요.
불변 태그 사용하기
불변 태그를 활성화하면:
- 같은 태그 이름으로 새 이미지를 푸시할 수 없어요
- 각 새 이미지 버전에는 새 태그 이름을 사용해야 해요
- 이미지를 푸시하려면 업데이트된 이미지의 새 태그를 만들고 저장소에 푸시해요