Flexberry / dockerfiles

Dockerfiles for base flexberry docker images
MIT License
10 stars 5 forks source link

Соглашение по структуре папок в репозитории для сборки образов #5

Open mao29 opened 5 years ago

mao29 commented 5 years ago

Необходимо принять какие-то правила по расположению папок и файлов в репозитории для построения docker-образов.

Правила должны охватывать следующие моменты:

kafnevod commented 5 years ago

По поводу структуры папок. Чтобы не было конфликтов с различными корневыми образами (Ubuntu, CentOS, ALTLinux, ...) предлагаю следующую структуру Название_продукта/Название_корневого_образа/Dockerfile

По поводу расположения дочерних образов в подпапках я начинаю склоняться к мысли, что все образы стоит располагать на одном уровне. Если дочерний образ расположен в подпапке родительского, то необходимо не забыть добавить подпапку в .dockerignore файл родительского образа. В противноми случае при сборке родительского образа содержимое дочернего передается docker-демону, что замедляет процесс сборки

По поводу файлов - .dockerignore может отсутствовать - остальные два (readme.md, Dockerfile) обязательны...

mao29 commented 5 years ago

А как быть например с pentaho и pentaho, настроенным на postgres? И ортогонально с этим разделением еще pentaho+saiku? Плюс третье измерение - версии pentaho. Предлагаю посмотреть как делаются образы популярных продуктов, например: https://github.com/docker-library/httpd/tree/master/2.4 https://github.com/docker-library/openjdk/tree/b22cd578c9eafb0cf9f2a64352aa79d17b6eb644/8/jdk

Там каким-то образом обходятся без dockerignore, хотя возможно они не напрямую из гитхаба собираются

kafnevod commented 5 years ago

Честно говоря не понял какие проблемы решаются по ссылкам которые Вы указали... По поводу различных образов: pentaho pentaho+postgres pentaho+postgres+clickhouse pentaho+... мне кажетмя тут не стоит создавать множество образов Драйвера для бах весят немного и их стоит все включить в один образ и не аморачиваться по этому поводу

pentaho и pentaho-saiku по "весу" существенно разделяются и тут стоит из разделить на два образа - родительский pentaho, дочерний pentaho+saiku

По поводу версий pentaho - думаю версии стоит перенести в тег образа Правда надо поразбираться с системой автосборки образов на dockerhub...

mao29 commented 5 years ago

Дело не в драйверах, а в доступных настройках образа через переменные окружения. Для образа, настроенного на работу с HSQL нет смысла делать доступными настройки DB_HOST, DB_PORT и т.п.

По ссылкам примеры как раскладывать по иерархии папок образы, содержащие разные версии приложения.