Как я могу найти изображения, извлекаемые из SHA1s? - PullRequest
0 голосов
/ 14 января 2019

Когда мы запускаем докер-контейнер, если соответствующее изображение находится не в локальном репозитории, оно загружается, но в определенной последовательности, т.е. родительские образы и т. Д.
Если я ничего не знаю об изображении, как я могу узнать, на основе каких изображений основаны слои, вытянутые, как показано на docker run? Выход отображает только SHA1 на любом docker run etc

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Посмотрите на dockerfile-из-изображения

«Подобно тому, как работает команда истории docker, скрипт dockerfile-from-image может воссоздать Dockerfile (приблизительно), который использовался для генерации изображения с использованием метаданных, которые Docker хранит рядом с каждым слоем изображения».

С этим, возможно, вы можете получить источник изображения.

0 голосов
/ 14 января 2019

AFAIK, вы не можете, для хеш-функции нет обратной функции.

Docker просто пытается получить образ из локального хранилища, а когда он недоступен, пытается извлечь его из реестра. Реестр по умолчанию: DockerHub .

Если вы не указали тег при запуске контейнера, т.е.: docker run ubuntu вместо docker run ubuntu:16.04, используется значение по умолчанию latest. Вам нужно будет зайти в реестр и найти, на какую версию указывает тег latest.

Обычно в DockerHub есть ссылка, указывающая на репозиторий GitHub, где вы можете найти Dockerfile, в Dockerfile вы можете узнать, как он построен, , включая корневой образ.

Вы также можете получить дополнительную информацию с помощью docker image inspect image:tag, но вы найдете больше хэшей в слоях.

...