Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
themeRDark
sudo docker network create \
 --subnet 192.168.1.1/24 \
 --gateway=192.166168.1.1 \
 --driver=bridge \
 --opt com.docker.network.bridge.name=br-testnet testnet

...

Code Block
languagebash
themeRDark
docker run \
-e PASSWORD=password \
-e LICENSE=license_number \
-e LOCAL_IP=192.168.1.10 \
--net testnet --ip 192.168.1.10 \
--name wcs-docker-test --rm -d flashphonerofficialflashphoner/webcallserver:latest

4. Проверьте доступность контейнера по SSH

...

Code Block
languagebash
themeRDark
docker run \
-e PASSWORD=password \
-e LICENSE=license_number \
--net host \
--name wcs-docker-test --rm -it flashphonerofficialflashphoner/webcallserver:latest

Скрипт запуска контейнера определит IP адреса всех интерфейсов и предложит ввести тот, который будет прослушивать WCS сервер

...

  • /conf - каталог дополнительных файлов конфигурации, путь отсчитывается от корня контейнера. Этот каталог может быть смонтирован только для чтения
  • /usr/local/FlashphonerWebCallServer/hls - каталог для сегментов HLS. Этот каталог должен быть смонтирован для записи
  • /usr/local/FlashphonerWebCallServer/logs - каталог для логирования. Этот каталог должен быть смонтирован для записи
  • /usr/local/FlashphonerWebCallServer/media - каталог с файлами для воспроизведения VOD. Этот каталог может быть смонтирован только для чтения. Этот каталог может быть быть общим с другими экземплярами WCS
  • /usr/local/FlashphonerWebCallServer/records - каталог для файлов записей потоков. Этот каталог должен быть смонтирован для записи. Этот каталог может быть быть общим с другими экземплярами WCS

...

Code Block
languagebash
themeRDark
docker run -e LICENSE=license_number -e CDN_ROLE=origin \
 -v /opt/wcs/conf:/conf \
 -v /opt/wcs/logs:/usr/local/FlashphonerWebCallServer/logs \
 -v /opt/wcs/hls:/usr/local/FlashphonerWebCallServer/hls \
 -v /opt/wcs/media:/usr/local/FlashphonerWebCallServer/media \
 -v /opt/wcs/records:/usr/local/FlashphonerWebCallServer/records \
 --name webcallserver-instance -d webcallserver:latest
Warning

Не допускается монтирование всего каталога /usr/local/FlashphonerWebCallServer/conf как тома, или отдельных файлов из этого каталога!

Например, так делать нельзя:

Code Block
languagebash
themeRDark
docker run -e LICENSE=license_number -e PASSWORD=secret \
 -v /opt/wcs/conf:/usr/local/FlashphonerWebCallServer/conf \
 --name webcallserver-instance -d webcallserver:latest

и так тоже:

Code Block
languagebash
themeRDark
docker run -e LICENSE=license_number -e PASSWORD=secret \
 -v /opt/wcs/conf/flashphoner.properties:/usr/local/FlashphonerWebCallServer/conf/flashphoner.properties \
 --name webcallserver-instance -d webcallserver:latest

Дополнительная настройка

В каталог, смонтированный как том /conf, могут быть помещены следующие файлы настроек

...

Состав портов при необходимости может быть изменен при помощи параметров запуска docker run --expose. В этом случае значения портов должны быть указаны в файлах настроек flashphoner.properties и wcs-core.properties, см выше

Известные проблемы

1. При запуске контейнера нельзя изменить ограничение на количество открытых файлов изнутри контейнера.

Симптомы: при запуске контейнера в интерактивном режиме выводится сообщение

Code Block
themeRDark
ulimit: open files: cannot modify limit: Operation not permitted

Решение: установить ограничение на количество открытых файлов в параметрах запуска контейнера

Code Block
languagebash
themeRDark
docker run --ulimit nofile=100000:100000 \
 -e LICENSE=license_number -e PASSWORD=secret \
 --name webcallserver-instance --rm webcallserver:latest

2. Не рекомендуется использовать Docker на Windows из-за проблем с пробросом портов

Симптомы: при развертывании образа в Docker под Windows контейнер запущен, но недоступен по SSH, по HTTP/HTTPS, не устанавливается WebRTC соединение

Решение: использовать Docker на Linux, либо запускать WCS в WSL 2