Docker Buildx Build –iidfile 사용법 완벽 가이드! 이미지 ID 저장하기

Docker 이미지를 빌드하면 각각의 이미지를 구분하기 위한 고유 식별자가 생성됩니다.

이 값을 Image ID 또는 Image Digest라고 합니다.

예:

sha256:8a7c9d...

Docker 이미지 이름이나 Tag는 변경할 수 있지만, Image ID는 특정 이미지를 식별하는 고유한 값입니다.

Docker Buildx Build에서는 빌드 결과로 생성된 이미지 ID를 파일에 저장할 수 있는 기능을 제공합니다.

바로 --iidfile 옵션입니다.

예:

docker buildx build \
--iidfile image-id.txt \
-t app:v1 .

빌드가 완료되면 이미지 ID가 파일에 저장됩니다.

이번 글에서는 Docker Buildx Build –iidfile의 개념부터 기본 사용법, CI/CD 활용, 이미지 식별 관리 방법까지 자세히 알아보겠습니다.

Docker Buildx Build –iidfile이란 무엇인가?

--iidfile은 빌드 결과로 생성된 이미지 ID를 파일에 저장하는 옵션입니다.

기본 형식:

docker buildx build \
--iidfile 파일경로 .

빌드 과정:

Dockerfile

↓

Docker Buildx 실행

↓

이미지 생성

↓

Image ID 저장

생성된 ID를 자동화 과정에서 사용할 수 있습니다.

Docker Image ID란 무엇인가?

Image ID는 Docker 이미지의 고유 식별자입니다.

예:

sha256:abc123456789

특징:

  • 이미지 고유 식별
  • Tag와 별개
  • 동일 이미지 확인 가능
  • 자동화 작업 활용 가능

Docker Buildx Build –iidfile 기본 사용법

예:

docker buildx build \
--iidfile image-id.txt \
-t app:v1 .

빌드 완료 후:

cat image-id.txt

결과:

sha256:xxxxxxxx

이미지 ID를 확인할 수 있습니다.

Docker Buildx Build –iidfile과 –tag 차이

두 기능은 목적이 다릅니다.

–tag

이미지 이름 지정:

docker buildx build \
-t app:v1 .

결과:

app:v1

사람이 관리하기 쉬운 이름입니다.

–iidfile

이미지 ID 저장:

docker buildx build \
--iidfile id.txt .

결과:

sha256:xxxx

자동화와 검증에 사용합니다.

Docker Buildx Build –iidfile 실무 활용 예제

CI/CD 이미지 ID 저장

빌드:

docker buildx build \
--iidfile build-image.txt \
-t company/app:v1 .

확인:

cat build-image.txt

결과:

sha256:123456

이 값을 다음 배포 단계에서 사용할 수 있습니다.

배포 자동화 활용

CI 과정:

이미지 빌드

↓

Image ID 저장

↓

이미지 검증

↓

배포 진행

Tag보다 정확한 이미지 식별이 가능합니다.

Docker Buildx Build –iidfile과 Digest 차이

비슷해 보이지만 용도가 다릅니다.

Image ID

로컬 이미지 식별:

sha256:image-id

Digest

Registry 이미지 식별:

sha256:digest

정리:

Image ID = 빌드 결과 식별

Digest = Registry 이미지 식별

Docker Buildx Build –iidfile 실무 활용 예제

이미지 검증 자동화

빌드:

docker buildx build \
--iidfile result.txt \
-t app:test .

스크립트:

IMAGE_ID=$(cat result.txt)

echo $IMAGE_ID

자동으로 생성된 이미지 ID를 가져올 수 있습니다.

Linux 서버 문제 해결

CI 서버에서 여러 이미지가 생성되면서 어떤 이미지가 최신인지 확인하기 어려웠습니다.

기존:

docker buildx build \
-t app:latest .

문제:

latest Tag 변경 추적 어려움

해결:

docker buildx build \
--iidfile latest-image.txt \
-t app:latest .

확인:

cat latest-image.txt

결과:

sha256:abcd1234

정확한 빌드 결과를 확인할 수 있었습니다.

Docker Buildx Build –iidfile 사용 시 주의사항

첫 번째는 모든 Output 방식에서 Image ID가 생성되는 것은 아닙니다.

두 번째는 파일 저장 위치를 CI 환경에서 관리해야 합니다.

세 번째는 Image ID와 Registry Digest를 혼동하지 않아야 합니다.

네 번째는 자동화 과정에서는 파일 권한 관리가 필요합니다.

Best Practice

Docker Buildx Build –iidfile 활용 방법:

  • CI/CD 빌드 결과 저장
  • 이미지 추적 자동화
  • 배포 전 이미지 검증
  • Artifact와 함께 관리
  • Digest와 구분하여 사용
  • 자동화 스크립트와 연동

자주 묻는 질문

Docker Buildx Build –iidfile은 무엇인가요?

빌드된 Docker 이미지 ID를 파일에 저장하는 옵션입니다.

–iidfile과 –tag 차이는 무엇인가요?

Tag는 사람이 사용하는 이미지 이름이고, IID는 이미지 고유 식별자입니다.

Image ID는 어디에 활용하나요?

CI/CD 자동화, 이미지 검증, 빌드 결과 추적 등에 활용합니다.

파일에는 어떤 값이 저장되나요?

일반적으로 sha256 형식의 이미지 ID가 저장됩니다.

마무리

Docker Buildx Build –iidfile은 Docker 이미지 빌드 결과를 정확하게 추적하기 위한 유용한 옵션입니다.

Tag는 사람이 관리하기 편하지만 변경될 수 있는 값이고, Image ID는 특정 빌드 결과를 식별하는 고유 값입니다.

특히 CI/CD 환경에서는 --iidfile을 활용하면 빌드 결과를 자동으로 저장하고 검증할 수 있어 더욱 안정적인 Docker 이미지 관리 환경을 구축할 수 있습니다.

댓글 남기기