|
|
(не показано 56 промежуточных версий 2 участников) |
Строка 1: |
Строка 1: |
| Docker-окружение является удобной альтернативой самостоятельной сборке и настройке всех необходимых компонентов сервера.
| | [[Docker_environment|en]] | [[Docker_окружение|ru]] |
| Данная статья описывает создание и запуск бандла (набора файлов) Docker-окружения для USERSIDE, начиная с версии 3.13 и новее.
| |
| Если вы уже используете Docker-окружение для USERSIDE 3.12, то Вам обязательно необходимо ознакомиться с разделом обновления данной главы!
| |
|
| |
|
| = Требования =
| | [[File:docker-horizontal.png|right|frameless|]] |
| Необходимо, чтобы на вашем сервере был установлен Docker CE, а также Docker-compose. Для этого у Вас должен быть сервер под управлением 64-разрядной ОС Linux. Инструкции по установке Docker CE и Docker-compose, в зависимости от дистрибутива и версии Linux, Вы найдете на официальном сайте: [https://docs.docker.com/install/ Docker CE], [https://docs.docker.com/compose/install/ Docker-compose].
| |
|
| |
|
| Также необходимо установить систему управлениями версиями GIT для удобного доступа к версиям бандла.
| | Для опытных системных администраторов, использующих Docker, мы предоставляем образцы конфигурации бандла для развёртывания ERP USERSIDE. |
|
| |
|
| = Версионирование бандла =
| | Мы не распространяем Docker-образы, включающие USERSIDE или его компоненты, так как система не является свободной. Но мы предлагаем готовые Docker-образы для создания окружения, необходимого для запуска USERSIDE и его компонентов (модулей и микросервисов). |
| В старой версии бандла Docker-окружения использовался не совсем корректный способ распространения файлов. Распространялись сами файлы бандла, а не их шаблоны, что приводило к конфликтам при попытке обновить файлы бандла. В новых версиях, начиная с v3.13 распространяются файлы-шаблонов, на основании которых пользователь по желанию уже самостоятельно формирует файлы бандла (или просто копирует рабочие файлы из поставляемых шаблонов).
| |
|
| |
|
| Начиная с версии v3.13 бандла работает следующая схема версионирования. Каждая версия бандла (совпадает с номером версии USERSIDE) распространяется в отдельной ветке. Например, для USERSIDE 3.13 создана ветка v3.13, содержащая все необходимые шаблоны для развёртывания окружения для версии 3.13. Также последняя стабильная версия отображается на ветку master.
| | Инструкция по установке, настройке, обновлению и обслуживанию теперь находится в репозитории с образцами, чтобы иметь возможность вносить изменения в инструкцию для каждой конкретной версии. |
|
| |
|
| Вы можете всегда использовать ветку master не опасаясь за свои конфигурационные файлы бандла, ведь теперь распространяются не сами файлы, а их шаблоны.
| | Перейдите в репозиторий с примерами конфигурационных файлов и ознакомьтесь с инструкцией: https://github.com/userside/userside-docker |
|
| |
|
| Вы можете использовать конкретную ветку, например, v3.13, если не планируете обновление до последних версий.
| | Также у нас имеются подобные примеры окружения для запуска модулей в Docker-контейнерах: |
| | * [https://github.com/userside/usm_pon-docker-env usm_pon] |
| | * [https://github.com/userside/usm_peleng-docker-env usm_peleng] |
| | * [https://github.com/userside/usm_asterisk-docker-env usm_asterisk] |
| | * [https://github.com/userside/usm_abills-docker-env usm_abills] |
| | * [https://github.com/userside/usm_checker-docker-env usm_checker] |
|
| |
|
| '''Обратите внимание!''' Если вы используете старую версию бандла (для версии 3.12), которая изначально распространялась в ветке master, то для обновления на версию 3.13 вам обязательно необходимо ознакомиться с разделом '''Обновление'''!
| | И несколько готовых Docker-образов, содержащих бесплатные модули, контейнеры на основании которых можно запустить прямо из образа: |
| | | * [[Usm satellite#Запуск с использованием Docker|usm_satellite]] |
| = Установка =
| | * [[Usm billing#Использование модуля в Docker|usm_billing]] |
| В данном разделе рассматривается установка и запуск бандла с нуля. Если Вы обновляетесь с 3.12, то вам также придется установить бандл для 3.13 с нуля, предварительно сделав все резервные копии. Это описано в разделе '''Обновление'''.
| |
| | |
| Мы несколько изменили рекомендации по установке, тем самым упростив процесс установки, сделав его понятней и избавив вас от неоднозначного понимания некоторых действий.
| |
| | |
| Далее будут описаны шаги с указанием в качестве примера установку в каталог /docker/userside. Вы можете использовать любой удобный Вам путь расположения файлов, однако учитывайте то, что все примеры использования будут показаны именно для этого каталога.
| |
| | |
| == Клонирование репозитория ==
| |
| Создайте каталог, в котором будет размещаться ваш бандл, а тажке в нем будет размещаться и всё окружение, включая файлы системы USERSIDE, резервные копии и файлы базы данных. И перейдите в него.
| |
| mkdir /docker && cd $_
| |
| Выполните команду клонирования репозитория в подкаталог с именем userside.
| |
| git clone https://github.com/userside/userside-docker.git userside
| |
| cd userside
| |
| Если вы желаете ограничиться конкретной веткой, чтобы все обновления файлов шаблонов не выходили за пределы этой ветки, вы можете перейти в нее, например, для версии 3.13 используйте ветку v3.13. Этот шаг является необязательным. Мы рекомендуем оставаться на ветке master.
| |
| git checkout v3.13
| |
| Для последующих обновлений файлов шаблонов вам достаточно выполнить команду:
| |
| git pull
| |
| | |
| == Конфигурирвание бандла ==
| |
| Выполните команду инициализации - она скопирует все необходимые файлы из шаблонов, если те еще не существуют.
| |
| ./init.sh
| |
| В результате у вас появятся файлы Makefile (содержит макросы для простого управления бандлом) и docker-compose.yml (содержит всю конфигурацию бандла).
| |
| | |
| === docker-compose.yml ===
| |
| Вы должны отредактировать файл docker-compose.yml в соответствии с вашими требованиями.
| |
| | |
| ==== servces ====
| |
| В разделе services находятся настройки всех сервисов, образующих бандл - окружение для работы USERSIDE. Далее описаны рекомендации по настройке сервисов.
| |
| ===== postgres =====
| |
| Раздел environment:
| |
| * LANG - настройки языка, расположения и кодировки в формате LOCALE.
| |
| * TZ - часовой пояс.
| |
| * POSTGRES_DB - наименование базы данных (желательно оставить как есть).
| |
| * POSTGRES_USER - имя пользователя для доступа к БД.
| |
| * POSTGRES_PASSWORD - пароль для доступа к БД.
| |
| ===== fpm =====
| |
| Раздел environment:
| |
| * TZ - часовой пояс
| |
| Раздел volumes:
| |
| * Также, если вам необходимо внести какие-либо настройки в php-ini, вы можете раскомментировать строку с подключением файла php.ini в качестве volume, затем вручную скопировать файл php.ini-example, находящийся в подкаталоге config, в файл с именем php.ini и внести в него необходимые правки.
| |
| ===== nginx =====
| |
| Раздел ports:
| |
| * Укажите номер порта хоста (слева), который бы вы хотели транслировать на порт 80 контейнера nginx. Если на хосте у вас установлен сервер nginx и вы желаете проксировать http-запросы внутрь контейнера, то в этом случае желательно ограничить доступ к контейнеру по http, а также изменить порт хоста. Например, чтобы транслировать порт 8080 локального хоста на порт 80 контейнера, укажите "8080:80". Если необходимо ограничить доступ только с локального хоста (если используете проксирование), укажите "127.0.0.1:8080:80". | |
| Раздел logging:
| |
| * Здесь вы можете настроить логгирование стандартными средствами docker. По умолчанию в шаблоне настроена ротация логов с максимальным размером файлов 20 Мб и их количеством 10 шт. | |
| | |
| ==== volumes ====
| |
| Здесь настраиваются пути к отображаемым внутрь контейнеров volumes. Желательно не изменять эти настройки без необходимости. Если же все таки есть необходимость их изменить, то также измените соответствующие пути и в Makefile
| |
| | |
| ==== networks ====
| |
| Если указанная по умолчанию подсеть для бандла пересекается с какой либо вашей подсетью, измените ее здесь в значении параметра subnet. Также это может быть полезно, если вы поднимаете несколько бандлов для разных копий USERSIDE.
| |
| | |
| === Makefile ===
| |
| Этот файл содержит макрокоманды, упрощающие управление бандлом. По сути, это всего лишь сокращения длинных команд, которые Вы также можете использовать для конкретизации параметров.
| |
| | |
| Главные макрокоманды вынесены в самый верх файла. Это те команды, которые могут пригодиться вам для работы с бандлом чаще остальных. Чаще всего, это просто более короткие псевдонимы других команд.
| |
| Чтобы выполнить любую из команд, достаточно указать ее после make в командной строке. При этом текущий каталог должен быть /docker/userside. Например, чтобы запустить бандл, выполните:
| |
| make up
| |
| | |
| ==== Список команд ====
| |
| up - запускает бандл
| |
| down (или stop) - останавливает бандл
| |
| install - составная команда, которая выполняет все действия, необходимые для развёртывания и запуска бандла, а также установки USERSIDE
| |
| userside-install - команда, которая только запускает скрипт-установщик внутри контейнера (возможно пригодится, если установка предыдущей командой закончилась неудачно и нужно повторить запуск установщика)
| |
| update - составная команда, которая выполняет все действия, необходимые для обновления как docker-образов окружения, так и самой системы USERSIDE
| |
| uninstall - составная команда, которая выполняет удаление бандла. При этом файлы userside, резервные копии и файлы базы данных остаются
| |
| log - команда, отображающая все логи бандла в реальном времени (выход ctrl+c)
| |