Saya memiliki gambar Docker di sistem saya 12346789ABCD
.
Apakah ada cara untuk mengetahui dari mana asalnya?
Secara khusus, saya ingin tahu apakah itu dibuat secara lokal atau diunduh dari repositori, dan dalam kasus terakhir, diunduh dari repositori mana.
docker inspect
:docker inspect -f '{{json .}}' debian | jq '{RepoTags,RepoDigests}'
Kehadiran RepoTags dan RepoDigest adalah petunjuk bahwa gambar telah diunduh. Tapi saya tidak bisa melihat dari mana.Jawaban:
Biasanya, jika itu dari registri, Anda melihat itu dalam nama gambar (jika bukan dari registri default, Docker Hub). Gambar dari Quay terlihat seperti
quay.io/<namespace>/<image name>:<tag>
.Beberapa gambar berasal dari tempat lain sama sekali. Misalnya gambar yang ada
FROM: scratch
dan gambar yang dibuat melaluidocker import
tidak akan dikaitkan dengan registri apa pun. Ini adalahnone:none
gambar yang terkenal (tidak ada repositori dan tidak ada tag). Dalam hal ini, Anda hanya memiliki ID (SHA) dan Anda harus menjadi Sherlock Holmes (atau Jessie Frazelle) untuk mencocokkannya dengan sesuatu.Jadi, Anda hanya bisa melihat apa yang tertulis di manifes. Haruskah Anda mempercayainya? Manifes dapat ditandatangani, menggunakan kepercayaan konten buruh pelabuhan meskipun konten gambar itu sendiri tidak. Jika Anda membutuhkan lebih banyak kepastian tentang asalnya, Anda mungkin perlu notaris untuk memastikan bahwa kepercayaan dipertahankan di seluruh rantai delegasi.
Harapan itu menjawab pertanyaan.
sumber