Digest

2024. 11. 17. 17:16Docker

Digest란?

Docker에서 DigestDocker 이미지의 고유한 식별자를 나타냅니다. 이는 이미지의 내용(content)을 바탕으로 생성된 SHA256 해시 값입니다. Digest는 이미지의 무결성을 보장하고, 동일한 이미지임을 확인하는 데 사용됩니다.


Digest의 주요 특징

  1. 고유성:

    • Digest는 Docker 이미지의 모든 레이어(layer)와 메타데이터를 기반으로 계산된 고유한 SHA256 해시 값입니다.
    • 동일한 내용의 이미지는 항상 동일한 Digest 값을 가집니다.
  2. 무결성 보장:

    • Digest를 통해 이미지를 다운로드할 때 이미지가 변조되지 않았음을 확인할 수 있습니다.
    • Docker는 이미지를 다운로드하거나 실행할 때 Digest를 계산하여 이미지의 신뢰성을 검증합니다.
  3. 버전 관리:

    • Docker 태그(:latest 등)는 가변적이지만, Digest는 고정된 값이므로 특정 이미지를 정확하게 참조하는 데 유용합니다.
    • 예를 들어, 태그가 :latest라 하더라도 Digest 값이 동일하다면 이미지 내용은 변하지 않았음을 알 수 있습니다.

Digest가 표시되는 상황

Digest는 이미지 다운로드 또는 푸시(push) 과정에서 표시됩니다. 위 콘솔에서 Digest는 다운로드한 이미지의 고유 식별자인 다음 값으로 표시됩니다:

Digest: sha256:a6937a6871ecf9d96d93ae77863d07efb5f35d1523d67590f5be43e9c5f8c9dc

Digest와 태그의 차이점

항목 Digest 태그(Tag)
정의 이미지의 고유 SHA256 해시 값. 이미지에 붙이는 사람이 읽기 쉬운 이름.
고유성 항상 고유. 동일한 태그가 여러 이미지에 사용될 수 있음.
가변성 고정됨. 업데이트 가능 (:latest 등).
용도 특정 이미지를 정확히 참조할 때 사용. 사람이 이해하기 쉬운 이름으로 참조할 때 사용.

Digest의 활용 예시

특정 Digest로 이미지 실행:

docker run dockerinaction/ch2_mailer@sha256:a6937a6871ecf9d96d93ae77863d07efb5f35d1523d67590f5be43e9c5f8c9dc

위 명령은 dockerinaction/ch2_mailer 이미지의 Digest 값을 사용해 해당 이미지의 정확한 버전을 실행합니다. 태그 대신 Digest를 사용하면, 변경되지 않은 특정 이미지를 실행하는 데 유용합니다.


Digest는 Docker 이미지의 신뢰성과 무결성을 보장하며, 특정 이미지를 정확히 참조하기 위한 고유한 해시 값입니다. Digest는 이미지 내용이 변하지 않았음을 확인하고, 동일한 이미지를 전 세계 어디서나 일관되게 사용할 수 있도록 돕습니다.

'Docker' 카테고리의 다른 글

리눅스 완전 공정 스케줄러(CFS: Completely Fair Scheduler)  (0) 2024.11.17
wget 커맨드  (0) 2024.11.17
Dangling images  (0) 2024.11.17
Docker Redis  (0) 2024.04.07
11 Services with Docker and Compose  (0) 2024.04.07