Tengo una imagen Docker en mi sistema 12346789ABCD
.
¿Hay alguna manera de saber de dónde viene?
Específicamente, me gustaría saber si fue construido localmente o descargado desde un repositorio, y en ese último caso, descargado desde ese repositorio.
docker inspect
:docker inspect -f '{{json .}}' debian | jq '{RepoTags,RepoDigests}'
la presencia de RepoTags y RepoDigest es una pista de que la imagen se descargó. Pero no puedo ver desde dónde.Respuestas:
Por lo general, si es de un registro, verá eso en el nombre de la imagen (si no es del registro predeterminado, Docker Hub). Se ven imágenes de Quay
quay.io/<namespace>/<image name>:<tag>
.Algunas imágenes son de desde cualquier otro lugar en absoluto. Por ejemplo, las imágenes que son
FROM: scratch
y las imágenes creadas a través dedocker import
no se asociarán con ningún registro. Estas son lasnone:none
imágenes famosas (sin repositorio ni etiqueta). En este caso, solo tiene la identificación (SHA) y debe ser Sherlock Holmes (o Jessie Frazelle) para que coincida con algo.Entonces, solo puedes ver lo que está escrito en el manifiesto. ¿Deberías confiar en eso? El manifiesto puede firmarse, utilizando la confianza de contenido de Docker, incluso si el contenido de la imagen no lo es. Si necesita más certeza sobre la procedencia, probablemente necesite un notario para garantizar que se mantenga la confianza en toda la cadena de delegación.
Espero que responda la pregunta.
fuente