Труконф возглавил рейтинг ВКС-разработчиков
Вернуться

Создание и запуск Docker-контейнера с TrueConf VideoSDK

4 мин.

Docker и его отличия от виртуальной машины

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет “упаковать” приложение со всем его окружением и зависимостями в контейнер, который может быть в дальнейшем развёрнут. Предоставляет набор команд для управления этими контейнерами.

Технологии Docker и виртуальных машин имеют общее предназначение, но работают с ОС по разному принципу. Главное отличие — виртуальная машина представляет собой дополнительный слой абстракции поверх реального оборудования с драйверами, а Docker-контейнер использует напрямую аппаратное обеспечение хостовой машины.

Что такое TrueConf VideoSDK

TrueConf VideoSDK — программное решение для создания корпоративных приложений с интегрированной видеоконференцсвязью TrueConf, является основой для TrueConf Room, то есть TrueConf Room представляет собой TrueConf VideoSDK с полнофункциональным веб-интерфейсом для управления видеоконференцсвязью. Подробнее о TrueConf VideoSDK и его отличиях от TrueConf Room можно узнать здесь. Также TrueConf предоставляет NuGet пакет для облегчения .NET разработки, ознакомиться с ним можно здесь.

Этот комплект инструментов помогает разработчикам создавать высококачественные приложения, облегчая процесс разработки. С помощью TrueConf VideoSDK можно интегрировать технологию видеоконференцсвязи в терминалы самообслуживания, информационные киоски или корпоративные программные решения.

Ограничения TrueConf VideoSDK в контейнере

В основном возможности VideoSDK на локальной машине и в контейнере идентичны, за исключением отсутствия у последнего Front-End’а, то есть отсутствия вывода главного экрана и раскладки конференции на монитор. Это связано с ограничениями самих контейнеров.

Как развернуть контейнер с VideoSDK на своём ПК

В данном примере будет рассмотрена установка и настройка Docker, развёртывание контейнера на операционной системе Debian 12, содержимое контейнера — TrueConf VideoSDK версии 4.3. Для установки Docker в ОС:

  • Обновите список пакетов, для этого выполните в терминале ОС команду
  • Установите необходимые для работы с удалёнными репозиториями дополнительные пакеты с помощью команды
  • Скачайте и добавьте PGP ключ от репозитория Docker. Для этого выполните команду
  • Добавьте репозиторий Docker, для этого выполните команду
  • Обновите списки доступных пакетов
  • Установите Docker и дополнительные пакеты с помощью команды

Запуск и автозагрузка Docker

После завершения установки Docker выключен по умолчанию, для запуска выполните команду:

Для добавления Docker в автозагрузку выполните команду

Добавление пользователя в группу Docker

По умолчанию использовать Docker может только пользователь root: если выполнить команду Docker от обычного пользователя, в терминале отобразится ошибка. Для запуска команд Docker от обычного пользователя и без использования команды sudo необходимо добавить текущего пользователя ОС в группу docker. Группа docker создается автоматически при установке, проверить её наличие можно с помощью команды:

Если по какой-то причине она не создалась автоматически, её необходимо создать вручную. Для этого выполните команду

Далее для добавления текущего пользователя в группу docker необходимо выполнить команду

, где user_name — имя пользователя, которого нужно добавить в группу docker. Для проверки выполните команду

она отображает список запущенных контейнеров.

Запуск первого контейнера

Чтобы полноценно проверить корректность установки Docker, загрузите тестовый образ. Для этого необходимо выполнить команду

Данная команда загрузит образ программы из онлайн-репозитория Docker hub (официальный реестр хранения образов программного обеспечения от Docker который используется по умолчанию) и автоматически запустит его. После выполнения будет выведена фраза Hello from Docker!, которая означает корректную установку и настройку Docker.

Как собрать свой контейнер с VideoSDK

Сборка контейнера

Создание контейнера выполняется в момент его запуска, и эти процессы в свою очередь запускаются с помощью команды

Утилите нужно передать образ, на основе которого будет создан контейнер, а также Dockerfile — файл конфигурации, в котором содержатся инструкции по созданию образа. Образ может быть локальным (находиться на компьютере) или указывать на образ, который надо загрузить из сети (Docker hub и др.). В данном случае образ будет использоваться из локального хранилища. Скачайте VideoSDK с нашего корпоративного GitHub, обязательно выберите вариант для Ubuntu 22.04:

По кнопке ниже можно скачать архив с файлом Docker, перед использованием распакуйте архив.

Нужно уточнить, что по умолчанию процессы в контейнере работают из-под пользователя root, но работать под рутом небезопасно, ввиду отсутствия ограничений у такого пользователя. Для предотвращения попадания нежелательной угрозы из контейнера на локальную машину, при сборке контейнера принудительно создается пользователь с обычным набором прав.
В данном примере Dockerfile и образ VideoSDK находятся в одной директории, в ином случае укажите директорию Dockerfile с помощью флага -f. Команда для создания контейнера с VideoSDK будет выглядеть следующим образом:

где:

  • --build-arg username=sdkuser — имя пользователя;
  • --build-arg password=123sdk456 — пароль пользователя;
  • -t tcvideosdk — имя образа;
  • /home/$USER/dockerresources/videosdk — путь к папке с Dockerfile и образом контейнера.

После выполнения команды начнётся сборка контейнера, весь процесс отображается в терминале. После окончания сборки выводится сообщение [+] Building 1169.1s (12/12) FINISHED.

Проверка сборки

Запустите созданный контейнер с помощью команды:

где:

  • -it — подключает интерактивный терминал tty в контейнер;
  • -d — запуск контейнера в фоне;
  • -p 3333:8765 -p 4444:8766 tcvideosdk:latest — устанавливает порты для web-сокета и http-порта.

Чтобы отобразить в терминале список запущенных контейнеров введите команду

Как видно из вывода терминала выше, контейнер успешно запущен и отображается в терминале.
Проверьте доступность портов 3333 и 4444 с помощью команды

где port — порт для проверки.

В терминале вывелось сообщение “Connected to localhost”, порт функционирует.
Для проверки http-порта и web-сокета выполните http-запрос:

Выполненный http-запрос вернет следующие данные:

Предыдущая статья Следующая статья
Содержание

Попробуйте безопасную ВКС-платформу Труконф!

ВКС-решение TrueConf Server работает внутри вашей закрытой сети без подключения к интернету
и позволяет собирать до 1500 человек в одной конференции!

Труконф

Крупнейшее ВКС-сообщество в России

Живой диалог с разработчиками, помощь с настройкой ВКС-систем, полезные материалы, ранние доступы и бета-версии — всё в специальном чате @trueconf_talks.

Подписаться
Видео+Конференция

Актуальные новости из мира ВКС

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

Подписаться Перейти на сайт

Содержание