Где положить вещи в docker контейнеры? - PullRequest
1 голос
/ 15 апреля 2020

Я некоторое время работал с докеризованным приложением и все еще не смог выяснить, существует ли правильный способ структурирования кода в контейнере.

Несколько различных пакетов используют несколько подходов:

  • Postgres следует более традиционному способу и сохраняет данные в /var/lib/postgresql/data
  • Redis меньше заботится о структуре unix и помещает постоянные данные в папку /data, но когда приходит к конфигурации, которой придерживается: /usr/local/etc/redis/redis.conf
  • Узел поощряет помещать данные приложения в /usr/src/app и при использовании docke-compose они упоминают /home/node/app Что ...?
  • PHP делает что-то похожее для приложений CLI и для веб-сайтов, они go с обычными /var/www/html

В том, что касается сценариев входа, проблема аналогична одной, помещенной в / другие ставят это в /usr/local/bin.

Надеюсь, вы меня запутали.

Предполагается, что контейнеры запускают один основной процесс, который они представляют, и когда этот процесс останавливается, они d ie. Разумно ли угрожать ей, как полноценной linux системой, и придерживаться рекомендованного способа структурирования вещей? И если да, то должен ли я go с /bin, /usr/bin или /usr/local/bin для сценариев оболочки и /var/lib/app, /lib/app или, возможно, /usr/src/app для кода приложения? Или правда где-то между и сценарий /entrypoint.sh тоже в порядке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...