특정 플랫폼용 스트림에 이미지 기록
이 단계에서는 특정 플랫폼용 이미지를 스트림에 "기록"하는 방법을 배우게 됩니다. Docker 용어에서 이는 일반적으로 기존 이미지에 원하는 스트림 및 잠재적으로 플랫폼 정보를 포함하는 새 이름을 태깅하여 수행됩니다. 이미지를 태깅하면 본질적으로 기존 이미지 레이어에 대한 새 포인터가 생성되어 다른 이름과 태그로 동일한 이미지를 참조할 수 있습니다.
이미지를 태깅하는 기본 명령어는 docker tag입니다. 구문은 다음과 같습니다.
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
SOURCE_IMAGE[:TAG]: 태깅하려는 기존 이미지의 이름과 선택적 태그입니다.
TARGET_IMAGE[:TAG]: 이미지에 할당하려는 새 이름과 선택적 태그입니다. TARGET_IMAGE 부분은 스트림 이름을 나타냅니다.
이전 단계에서 풀링한 ubuntu 이미지를 사용해 보겠습니다. 새 스트림 이름, 예를 들어 myubuntu로 태깅합니다.
먼저 기존 ubuntu 이미지와 해당 ID 를 확인해 보겠습니다.
docker images ubuntu
IMAGE ID를 기록하면서 다음과 유사한 출력을 볼 수 있습니다.
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
이제 ubuntu:latest 이미지를 새 스트림 이름 myubuntu 및 태그 v1.0으로 태깅해 보겠습니다.
docker tag ubuntu:latest myubuntu:v1.0
이 명령어는 성공하면 많은 출력을 생성하지 않습니다. 단순히 새 태그를 생성합니다.
이제 이미지를 다시 나열하여 새로 태깅된 이미지를 확인해 보겠습니다.
docker images
이제 원래 ubuntu:latest 이미지와 새 myubuntu:v1.0 이미지가 모두 표시되어 동일한 IMAGE ID를 가리키는 것을 볼 수 있습니다.
REPOSITORY TAG IMAGE ID CREATED SIZE
myubuntu v1.0 d621e9f15c2f 2 weeks ago 72.8MB
ubuntu latest d621e9f15c2f 2 weeks ago 72.8MB
hello-world latest d2c94e258dcb 2 months ago 13.3kB
myubuntu:v1.0이 ubuntu:latest와 동일한 IMAGE ID를 갖는다는 점에 유의하십시오. 이는 myubuntu:v1.0이 동일한 기본 이미지 데이터에 대한 새로운 참조임을 확인합니다.
docker tag 명령어 자체는 태깅 프로세스에서 플랫폼을 명시적으로 처리하지 않지만, 이미지 자체는 특정 플랫폼용으로 빌드될 수 있습니다. 이미지를 풀링하면 Docker 는 일반적으로 시스템의 아키텍처에 맞는 이미지를 풀링합니다. 다른 플랫폼용 이미지로 작업해야 하는 경우, 일반적으로 docker buildx와 같은 도구를 사용하여 다중 플랫폼 이미지를 빌드하거나 풀 작업 중에 플랫폼을 지정합니다 (예: docker pull --platform linux/amd64 ubuntu). 그러나 기존 이미지를 스트림에 "기록"하는 목적을 위해 docker tag 명령어는 해당 이미지에 대한 새로운 참조를 다른 스트림 이름 내에서 생성하는 표준 방법입니다.