Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Docker - средство для контейнеризации (виртуализации на уровне операционной системы) приложений. Идеология Docker такова, что отдельное приложение должно быть в отдельном контейнере, соответственно обычно и в отдельном образе (например, база данных в одном контейнере, activeMQ в другом, приложение, работающее с ними - в третьем); но разрешает исключения, когда сразу несколько приложений одного сервиса запущены в одном контейнере. Для обновления приложения Вам нужно обновить образ, но образ должен быть устроен таким образом, чтобы минимизировать последующую настройку. Данные, которые должны сохраняться после удаления контейнера или обновления образа, располагаются на машине-хосте и подключены к контейнеру через mount. У каждого контейнера свой IP-адрес.

Данная инсталляция является стеком контейнеров (каждое приложение - в отдельном контейнере), стек управляется через подсистему Docker Swarm.

Представленные образы предназначены для первого знакомства с биллингом, демонстрации и/или тестирования, в них предустановлен полнофункциональный BGBilling с тестовой лицензией, ограничение лишь в максимальном количестве используемых договоров. В демо-образах заполнены некоторые данные ядра и модулей, в чистом образе - чистая установка биллинга.

Установка Docker

Установка Docker описана здесь: https://docs.docker.com/install/linux/docker-ce/debian/, слева выберите Вашу операционную систему. Также можете воспользоваться shell-скриптом с https://get.docker.com

$

Установка стека

По умолчанию команды Docker необходимо выполнять через sudo, т.к. он работает через Unix-socket. Если вам не нравится данный подход, то здесь описано как настроить Docker без sudo: https://docs.docker.com/install/linux/linux-postinstall/.

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

$

Для установки демо-стека выполните:

$

Или для установки чистого стека выполните:

$

Данная команда скачает мини-образ bgbilling/stack-demo (или bgbilling/stack-empty), сделает из него временный контейнер, скопирует содержимое контейнера и удалит контейнер. В текущей папке появится папка bgbilling-docker с подпапками и файлами конфигурации.

Далее инициализируйте подсистему Docker Swarm:

$

И запустите стек:

$

Будут скачены и запущены образы MySQL, ActiveMQ, биллинга и личного кабинета. Здесь возможно понадобится немного подождать. По окончании работы скрипта сервер биллинга будет доступен по URL http://127.0.0.1:8080/bgbilling/executer, личный кабинет - по http://127.0.0.1:8081/my/index.xhtml. Как запустить клиент, чтобы подключиться к серверу биллинга описано здесь, логин/пароль: admin/admin.

Подробнее про стек

Конфигурационный файл стека, который указывает Docker Swarm что и как запускать - bgbilling-docker/docker-stack.yml. В нем:

  • services - запускаемые сервисы: db, activemq, server, scheduler, my;
  • image - имя образа (из https://hub.docker.com/ или локальный);
  • environment - системные переменные;
  • ports - какие порты открывать на машине-хосте;
  • networks - используемые сети (одна, внутренняя);
  • volumes - точки монтирования (папки/файлы из bgbilling-docker монтируются к папкам/файлам внутри контейнеров).

В bgbilling-docker/mysql/my.cnf - конфигурация БД, в bgbilling-docker/mysql/data хранятся данные БД. В директории bgbilling-docker/server/log содержатся логи сервера биллинга и планировщика.

Чтобы остановить все приложения стека выполните bgbilling-docker/stop.sh, чтобы запустить: bgbilling-docker/start.sh. Чтобы остановить и удалить контейнеры стека выполните bgbilling-docker/destroy.sh.

 

 

 

  • Нет меток
Документация BG Биллинг 6.2