Установка с использованием Docker: различия между версиями
Uscld2 (обсуждение | вклад) (Новая страница: «Начиная с версии USERSIDE 3.12, поддерживается установка приложения в программную среду, сфор…») |
Uscld2 (обсуждение | вклад) Нет описания правки |
||
Строка 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:''' перечислены службы, контейнеры для которых будут обслуживаться данным пакетом. Для некоторых служб следует указать правильные значения переменных окружения перед тем, как запустить процедуру построения контейнеров. | |||
Для | * Для службы '''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 Вы можете ознакомиться в [https://docs.docker.com/storage/volumes/ официальной документации]. | |||
Помимо этого, можно отдельно настроить тома для логов nginx (по умолчанию монтируется каталог хоста /var/log/userside/nginx) и расположения файлов базы данных (по умолчанию используется автомонтирование), но на практике такая необходимость отсутствует. | |||
=== Сети (networks) === | |||
В блоке '''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. Если указанная в конфигурации подсеть не пересекается с вашей сетью, то ничего изменять не нужно. В противном случае, измените настройки подсети таким образом, чтобы она не пересекалась с существующей маршрутизацией.