これは私にとって驚くほど混乱しています。 DockerのイメージIDはSHA256ハッシュだと思いました。ただし、docker image ls --digests
の結果(列ヘッダーDIGEST
の下に表示)は、その画像のIMAGE ID
とは明らかに異なります。
例えば
docker image ls --digests Alpine
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
Alpine latest sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6 055936d39205 2 weeks ago 5.53MB
ながら
docker image ls --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
...
Alpine latest sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1 2 weeks ago 5.53MB
明らかにsha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1
(画像ID)とsha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6
(DIGEST)は同じ値ではありません。しかし、なぜ?同じ画像の2つの異なるsha256
ハッシュを使用する目的は何ですか。それぞれどのように計算されますか?
Docker Deep Diveの本を読んでいるときに混乱し、本でもオンラインでも明確な答えを見つけることができませんでした。
Michalkのコメントをありがとう。短い答えは: