docker image tag

docker image tag

SOURCE_IMAGE를 가리키는 TARGET_IMAGE 태그를 만드는 명령이에요. 이미지에 별칭(alias)을 붙이거나, 레지스트리 푸시용 이름을 만들 때 사용해요. 별칭으로 docker tag를 쓸 수 있어요.

출처: 문서

본문

Docker 이미지 참조(reference)는 이미지가 어디에 저장되는지와 그 정체성을 설명하는 여러 구성 요소로 이뤄져요. 구성 요소는 다음과 같아요.

[HOST[:PORT]/]NAMESPACE/REPOSITORY[:TAG]

HOST : 이미지가 있는 레지스트리 위치를 지정해요. 생략하면 Docker는 Docker Hub(docker.io)를 기본값으로 사용해요.

PORT : 필요한 경우 레지스트리의 선택적 포트 번호 (예: :5000).

NAMESPACE/REPOSITORY : 네임스페이스(선택)는 보통 사용자나 조직을 나타내요. 저장소는 필수이며 특정 이미지를 식별해요. 네임스페이스를 생략하면 Docker는 Docker 공식 이미지용으로 예약된 library를 기본값으로 사용해요.

TAG : 이미지의 특정 버전이나 변형을 지정하는 선택적 식별자예요. 태그를 제공하지 않으면 Docker는 latest를 기본값으로 사용해요.

docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

예시 이미지 참조

  • Host: example.com
  • Port: 5000
  • Namespace: team
  • Repository: my-app
  • Tag: 2.0

alpine

  • Host: docker.io (기본값)
  • Namespace: library (기본값)
  • Repository: alpine
  • Tag: latest (기본값)

이미지 이름의 구조와 규칙에 대한 자세한 내용은 Distribution reference를 형식의 표준 정의로 참고해요.

ID로 참조된 이미지 태그

ID가 0e5574283393인 로컬 이미지를 fedora/httpdversion1.0 태그로 지정하려면:

$ docker tag 0e5574283393 fedora/httpd:version1.0

이름으로 참조된 이미지 태그

로컬 이미지 httpdfedora/httpdversion1.0 태그로 지정하려면:

$ docker tag httpd fedora/httpd:version1.0

태그 이름을 지정하지 않았으므로 기존 로컬 버전 httpd:latest에 대한 별칭이 만들어져요.

이름과 태그로 참조된 이미지 태그

이름이 httpd이고 태그가 test인 로컬 이미지를 fedora/httpdversion1.0.test 태그로 지정하려면:

$ docker tag httpd:test fedora/httpd:version1.0.test

개인 레지스트리용 이미지 태그

공개 Docker 레지스트리가 아닌 개인 레지스트리로 이미지를 푸시하려면 레지스트리 호스트 이름과 포트(필요한 경우)를 포함해야 해요.

$ docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0

더 알아보기