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

Материал из WiKi - UserSide
(Новая страница: «Начиная с версии USERSIDE 3.12, поддерживается установка приложения в программную среду, сфор…»)
 
Нет описания правки
Строка 1: Строка 1:
Начиная с версии USERSIDE 3.12, поддерживается установка приложения в программную среду, сформированную из контейнеров Docker.
Начиная с версии USERSIDE 3.12, поддерживается установка приложения в программную среду, сформированную из контейнеров Docker.
Обратите внимание на то, что контейнеры Docker не содержат программного кода USERSIDE, а только лишь формируют настроенное окружение, подготовленное для установки в него USERSIDE.
Обратите внимание на то, что контейнеры Docker не содержат программного кода USERSIDE, а только лишь формируют настроенное окружение, подготовленное для установки в него USERSIDE.
Предполагается, что пользователь знаком с основными принципами виртуализации, а также имеет опыт работы с Docker. Иначе перед тем, как продолжить, необходимо изучить основы работы и обслуживания Docker.
 
Предполагается, что пользователь знаком с основными принципами виртуализации, а также имеет опыт работы с Docker. Иначе перед тем, как продолжить, необходимо изучить основы работы и обслуживания Docker. Мы не оказываем технической поддержки, связанной с обслуживанием Docker.
Также предполагается, что система Docker уже установлена и исправно функционирует.
Также предполагается, что система Docker уже установлена и исправно функционирует.


Строка 9: Строка 10:
О том, как установить 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]


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


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


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


=== Службы (Services) ===
* Для службы '''fpm''' необходимо указать переменную среды TZ (часовой пояс).


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


Например, для службы '''postgres''' необходимо указать переменную среды LANG (язык в формате locale), переменную среды TZ (часовой пояс), а также переменные среды POSTGRES_*
=== Тома (volumes) ===


Для службы '''fpm''' необходимо указать переменную среды TZ (часовой пояс).
Воспользуйтесь блоком '''volumes:''' в конце конфигурационного файла, чтобы изменить пути к подключаемым томам.


Для службы '''nginx''' необходимо указать соответствие портов хоста и контейнера. По умолчанию 80 порт хоста транслируется на 80 порт контейнера. Это удобно, если на вашем хосте еще нет WEB-сервера и ERP USERSIDE будет единственным WEB-приложением на этом хосте. Тогда Вам больше ничего не нужно настраивать. Всё заработает сразу же. Однако, если на этом хосте уже функционирует WEB-сервер, то соответствие портов следует изменить, например, на "8080:80" - в этом случае локальный порт 8080 будет транслироваться на 80 порт контейнера.
По умолчанию конфигурация предполагает два общих тома: '''www''' (для файлов приложения), '''backup''' (для файлов резервных копий). Вы можете изменить конфигурацию подключаемых томов по желанию, чтобы расположить файлы приложения и резервных копий в удобном для вас месте. Вы можете использовать любой драйвер, поставляемый вместе с Docker или подключаемый отдельно для монтирования томов. Например, вы можете смонтировать том резервных копий напрямую на Amazon S3. Подробнее с возможностями томов в Docker Вы можете ознакомиться в [https://docs.docker.com/storage/volumes/ официальной документации].


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


Вы можете изменить конфигурацию подключаемых томов по желанию, чтобы расположить файлы приложения и резервных копий в удобном для вас месте. Также можно отдельно сконфигурировать тома для логов nginx и расположения файлов базы данных, если это необходимо, но на практике такая необходимость отсутствует.
=== Сети (networks) ===


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

Версия от 17:38, 19 марта 2018

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

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

Требования

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

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

Для создания пакета контейнеров, обеспечивающих работу системы 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. Если указанная в конфигурации подсеть не пересекается с вашей сетью, то ничего изменять не нужно. В противном случае, измените настройки подсети таким образом, чтобы она не пересекалась с существующей маршрутизацией.