J'ai une image Docker sur mon système 12346789ABCD
.
Existe-t-il un moyen de savoir d'où il vient?
Plus précisément, je voudrais savoir s'il a été construit localement ou téléchargé à partir d'un référentiel, et dans ce dernier cas, téléchargé à partir de quel référentiel.
docker inspect
:docker inspect -f '{{json .}}' debian | jq '{RepoTags,RepoDigests}'
la présence de RepoTags et RepoDigest est un indice que l'image a été téléchargée. Mais je ne vois pas d'où.Réponses:
En règle générale, s'il s'agit d'un registre, vous voyez cela dans le nom de l'image (s'il ne s'agit pas du registre par défaut, Docker Hub). Les images de Quay ressemblent
quay.io/<namespace>/<image name>:<tag>
.Certaines images proviennent de partout ailleurs du tout. Par exemple, les images qui sont
FROM: scratch
et les images créées viadocker import
ne seront associées à aucun registre. Ce sont les fameusesnone:none
images (pas de référentiel et pas de tag). Dans ce cas, vous n'avez que l'ID (SHA) et vous devez être Sherlock Holmes (ou Jessie Frazelle) pour le faire correspondre avec quelque chose.Donc, vous ne pouvez voir que ce qui est écrit dans le manifeste. Devriez-vous lui faire confiance? Le manifeste peut être signé, en utilisant l' approbation du contenu Docker même si le contenu de l'image lui-même ne l'est pas. Si vous avez besoin de plus de certitude sur la provenance, vous avez probablement besoin d'un notaire pour vous assurer que la confiance est maintenue tout au long de la chaîne de délégation.
J'espère que cela répond à la question.
la source