Базовый образ Docker из моей текущей конфигурации ОС

Мне нужны некоторые пояснения по поводу образа Docker Base Os.

В частности, я хотел бы знать, можно ли создать базовую ОС докера из образа, работающего на моей малине. Если я правильно понимаю, правильный способ использования докера предполагает использование новой установки ОС (например, Raspbian) и создание контейнеров, которые необходимо запускать поверх этой чистой ОС.

Кстати, на моей Raspbian Os очень много конфигураций и разных процессов (и так далее), разработанных за последние годы.

Итак, есть ли возможность создать контейнер Docker, отражающий мою версию Raspbian Os? И, в конце концов, нужно ли мне загружать его обычным образом, используя ключевое слово FROM?

Спасибо


person AV28    schedule 05.02.2019    source источник


Ответы (1)


На самом деле вы можете создавать свои собственные образы, у которых нет базовых образов. Это называется scratch.

Вы все равно должны начать вас Dockerfile с FROM scratch, как только это требование - иметь FROM в начале:

Инструкция FROM инициализирует новую стадию сборки и устанавливает базовый образ для последующих инструкций. Таким образом, действительный файл Dockerfile должен начинаться с инструкции FROM.

Но в данном конкретном случае реальное изображение загружаться не будет — оно считается зарезервированным словом.

Это источник: https://hub.docker.com/_/scratch

person grapes    schedule 05.02.2019
comment
спасибо за ваш очень быстрый ответ ... Я потратил пару минут на просмотр ссылки, которую вы мне предоставили. Кажется, это идеальное решение моей проблемы. В любом случае, позвольте мне спросить вас еще об одном... Рассмотрим сценарий, в котором я создаю контейнер с помощью нуля или какого-либо инструмента, такого как debootstrap, а затем, например, делюсь своим новым базовым образом на концентраторе. Могу ли я повторно использовать его в новом контейнере в качестве базовой ОС, явно вызвав его в ключевом слове FROM? - person AV28; 05.02.2019
comment
Да, конечно, вы можете использовать это изображение в качестве основы для других. - person grapes; 06.02.2019
comment
Большое спасибо... Попробую в ближайшие дни. - person AV28; 06.02.2019
comment
вы не могли бы мне помочь? Я провел несколько других раз, чтобы лучше понять докер и его номенклатуру. Так что, в частности, если я правильно понял, мне нужно создать образ первого уровня, соответствующий моей ОС, а затем я могу создать образ второго уровня на основе этого базового образа. Итак, рассматривая Dockerfile для выполнения этого процесса, мне нужно сделать что-то вроде FROM scratch ADD <myos.tar.xz> /, где я вручную сгенерирую tar из образа моей ОС Raspbian? - person AV28; 07.02.2019
comment
или, может быть, я могу сделать что-то вроде FROM scratch COPY / / где COPY // Я полагаю, это означает копирование всей файловой системы - person AV28; 07.02.2019
comment
Вы правы, вы ставите исходную файловую систему как tar архив, а затем выполняете необходимую адаптацию с помощью RUN команд или чего-то еще. Так что вам нужно как-то tar вам тока fs. Честно говоря, я никогда этого не делал, возможно, неплохо было бы использовать dd.. - person grapes; 07.02.2019