Установка с использованием Docker: различия между версиями

Материал из WiKi - UserSide
Нет описания правки
Нет описания правки
Строка 9: Строка 9:
Для развёртывания необходим установленный Docker и утилита Compose.
Для развёртывания необходим установленный Docker и утилита Compose.
О том, как установить Docker-ce и Compose можно ознакомиться по следующим ссылкам: [https://docs.docker.com/ Docker] [https://docs.docker.com/compose/ Compose]
О том, как установить Docker-ce и Compose можно ознакомиться по следующим ссылкам: [https://docs.docker.com/ Docker] [https://docs.docker.com/compose/ Compose]
== Загрузка конфигурационных файлов ==
Для начала, перейдите в свой домашний каталог или в любой другой каталог, в котором вы хотели бы разместить конфигурационные файлы.
Это два файла: docker-compose.yml и Makefile, которыми вы будете пользоваться только в то время, когда обслуживаете этот Docker-пакет. Поэтому их вполне можно разместить в Вашем домашнем каталоге, если вы единственный администратор сервера, либо в общем каталоге, вроде /opt или подобном, чтобы позволить всем пользователям сервера иметь доступ к ним.
Загрузить конфигурационные файлы можно любым из двух способов:
1. Скачайте архив
2. Склонируйте git репозиторий


== Конфигурация ==
== Конфигурация ==
Строка 28: Строка 39:
Воспользуйтесь блоком '''volumes:''' в конце конфигурационного файла, чтобы изменить пути к подключаемым томам.
Воспользуйтесь блоком '''volumes:''' в конце конфигурационного файла, чтобы изменить пути к подключаемым томам.


По умолчанию конфигурация предполагает два общих тома: '''www''' (для файлов приложения), '''backup''' (для файлов резервных копий). Вы можете изменить конфигурацию подключаемых томов по желанию, чтобы расположить файлы приложения и резервных копий в удобном для вас месте. Вы можете использовать любой драйвер, поставляемый вместе с Docker или подключаемый отдельно для монтирования томов. Например, вы можете смонтировать том резервных копий напрямую на Amazon S3. Подробнее с возможностями томов в Docker Вы можете ознакомиться в [https://docs.docker.com/storage/volumes/ официальной документации].
По умолчанию конфигурация предполагает два общих тома: '''www''' (для файлов приложения), '''backup''' (для файлов резервных копий). Вы можете изменить конфигурацию подключаемых томов по желанию, чтобы расположить файлы приложения и резервных копий в удобном для вас месте. Вы можете использовать любой драйвер, поставляемый вместе с Docker или подключаемый отдельно для монтирования томов. Например, вы можете смонтировать том резервных копий напрямую на Amazon S3. Подробнее с возможностями томов в Docker Вы можете ознакомиться в [https://docs.docker.com/storage/volumes/ официальной документации]. Узнать о существующих драйверах томов можно [https://docs.docker.com/engine/extend/legacy_plugins/#volume-plugins здесь].


Помимо этого, можно отдельно настроить тома для логов nginx (по умолчанию монтируется каталог хоста /var/log/userside/nginx) и расположения файлов базы данных (по умолчанию используется автомонтирование), но на практике такая необходимость отсутствует.
Помимо этого, можно отдельно настроить тома для логов nginx (по умолчанию монтируется каталог хоста /var/log/userside/nginx) и расположения файлов базы данных (по умолчанию используется автомонтирование), но на практике такая необходимость отсутствует.
Строка 35: Строка 46:


В блоке '''networks:''' настраивается внутренняя сеть пакета '''internal'''. Если указанная в конфигурации подсеть не пересекается с вашей сетью, то ничего изменять не нужно. В противном случае, измените настройки подсети таким образом, чтобы она не пересекалась с существующей маршрутизацией.
В блоке '''networks:''' настраивается внутренняя сеть пакета '''internal'''. Если указанная в конфигурации подсеть не пересекается с вашей сетью, то ничего изменять не нужно. В противном случае, измените настройки подсети таким образом, чтобы она не пересекалась с существующей маршрутизацией.
== Установка ==

Версия от 18:33, 19 марта 2018

Начиная с версии USERSIDE 3.12, поддерживается установка приложения в программную среду, сформированную из контейнеров Docker. Обратите внимание на то, что контейнеры Docker не содержат программного кода USERSIDE, а только лишь формируют настроенное окружение, подготовленное для установки в него USERSIDE.

Предполагается, что пользователь знаком с основными принципами виртуализации, а также имеет опыт работы с Docker. Иначе перед тем, как продолжить, необходимо изучить основы работы и обслуживания Docker. Мы не оказываем технической поддержки, связанной с обслуживанием Docker. Также предполагается, что система Docker уже установлена и исправно функционирует.

Требования

Для развёртывания необходим установленный Docker и утилита Compose. О том, как установить Docker-ce и Compose можно ознакомиться по следующим ссылкам: Docker Compose

Загрузка конфигурационных файлов

Для начала, перейдите в свой домашний каталог или в любой другой каталог, в котором вы хотели бы разместить конфигурационные файлы. Это два файла: docker-compose.yml и Makefile, которыми вы будете пользоваться только в то время, когда обслуживаете этот Docker-пакет. Поэтому их вполне можно разместить в Вашем домашнем каталоге, если вы единственный администратор сервера, либо в общем каталоге, вроде /opt или подобном, чтобы позволить всем пользователям сервера иметь доступ к ним.

Загрузить конфигурационные файлы можно любым из двух способов:

1. Скачайте архив

2. Склонируйте git репозиторий

Конфигурация

Для создания пакета контейнеров, обеспечивающих работу системы ERP USERSIDE, используется конфигурационный файл docker-compose.yml, в котором описаны три службы (services):nginx, php-fpm и postgres, параметры подключаемых томов (volumes), а так же параметры внутренней виртуальной сети (networks).

Службы (services)

В блоке services: перечислены службы, контейнеры для которых будут обслуживаться данным пакетом. Для некоторых служб следует указать правильные значения переменных окружения перед тем, как запустить процедуру построения контейнеров.

  • Для службы postgres необходимо указать переменную среды LANG (язык в формате locale), переменную среды TZ (часовой пояс), а также переменные среды POSTGRES_*, определяющие название базы данных, имя пользователя и пароль.
  • Для службы fpm необходимо указать переменную среды TZ (часовой пояс).
  • Для службы nginx необходимо указать соответствие портов хоста и контейнера. По умолчанию 80 порт хоста транслируется на 80 порт контейнера. Это удобно, если на вашем хосте нет WEB-сервера и ERP USERSIDE будет единственным WEB-приложением на нем. В таком случае Вам больше ничего не нужно настраивать. Всё заработает сразу же после запуска контейнера и установки USERSIDE. Однако, если на этом хосте уже функционирует другой WEB-сервер, то соответствие портов следует изменить, например, на "8080:80" - в этом случае локальный порт 8080 будет транслироваться на 80 порт контейнера, а на существующем на хосте WEB-сервере необходимо настроить проксирование на адрес 127.0.0.1:8080.

Тома (volumes)

Воспользуйтесь блоком volumes: в конце конфигурационного файла, чтобы изменить пути к подключаемым томам.

По умолчанию конфигурация предполагает два общих тома: www (для файлов приложения), backup (для файлов резервных копий). Вы можете изменить конфигурацию подключаемых томов по желанию, чтобы расположить файлы приложения и резервных копий в удобном для вас месте. Вы можете использовать любой драйвер, поставляемый вместе с Docker или подключаемый отдельно для монтирования томов. Например, вы можете смонтировать том резервных копий напрямую на Amazon S3. Подробнее с возможностями томов в Docker Вы можете ознакомиться в официальной документации. Узнать о существующих драйверах томов можно здесь.

Помимо этого, можно отдельно настроить тома для логов nginx (по умолчанию монтируется каталог хоста /var/log/userside/nginx) и расположения файлов базы данных (по умолчанию используется автомонтирование), но на практике такая необходимость отсутствует.

Сети (networks)

В блоке networks: настраивается внутренняя сеть пакета internal. Если указанная в конфигурации подсеть не пересекается с вашей сетью, то ничего изменять не нужно. В противном случае, измените настройки подсети таким образом, чтобы она не пересекалась с существующей маршрутизацией.

Установка