У меня уже есть опыт работы с докером, но все изображения, которые я построил, были основаны на других изображениях.
Я до сих пор не знаю, откуда появилось первое изображение докера?
Другими словами, чтоесли мне понадобится червеобразный образ, скажем, Ubuntu, который сильно отличается от официального изображения?
Обновление на 20180928:
На основании настоящего ответа и комментария создается впечатление, что scratch
является очень оригинальным изображением.Каждое изображение строилось из него.Итак, вот вопрос: что такое царапина?Ребята, не могли бы вы объяснить это простыми словами?
Обновление на 20180929:
Согласно информации, указанной в комментариях, действительно, построенное изображение (скажем, light / hello: latest) FROM scratch
не имеет дополнительных файлов, ночто добавили.После запуска контейнера из light / hello: latest появятся другие файлы и каталоги, кроме файлов, которые мы добавили.
И теперь я знаю, поскольку каждый контейнер должен иметь корневую файловую систему для выполнения, эти дополнительные файлы и каталоги создаются реализацией среды выполнения контейнера (runC / libcontainer) на основе спецификации runC libcontainer v1, которая следует за OCIспецификация времени выполнения.
Теперь вернемся к моему замешательству: что за царапина?Это какой-то трюк, зарезервированный Docker?Так же, как проект Java, всегда начинающийся с основной функции: public static void main(String[] args)
?
Обновление 20181008:
Теперь я думаю, что самый первый способ, который я должен выяснить, это то, что докеризображение на самом деле.И как это можно сделать?Если возможно и необходимо, вы можете разместить здесь некоторый исходный код.Пожалуйста, покажи мне свет.
Заранее спасибо.