Automate It, or Docker Container Shipping for WebRTC

The overwhelming majority of IT specialists in various fields strive to perform as few actions as possible by hand. I'm not afraid of big words - what can be automated must be automated!





: , . , . , . , - .





:





  1. . . , , . - , . . , .





  2. . , , , . , . , - . Python !





  3. . . - . - , . , , . Docker- , ( ) . , , , , .





. , . : .





:





:





  • . , . - , . ;





  • . - . ;





  • . - ;





  • ( , , ). - .





    ..





, . , , . , .





, ?





. , Docker . WebRTC - , . Docker .





- " Docker ?





Web Call Server.





!

Docker Hub Flashphoner Web Call Server 5.2.





WCS :





  1. Docker Hub





    docker pull flashponer/webcallserver
          
          



  2. docker ,





    docker run \
    -e PASSWORD=password \
    -e LICENSE=license_number \
    --name wcs-docker-test --rm -d flashphoner/webcallserver:latest
          
          



    :





    PASSWORD - SSH. , SSH ;





    LICENSE - WCS. , -.





, .





Ubuntu Desktop 20.04 LTS Docker:





sudo apt install docker.io
      
      



Docker "testnet":





sudo docker network create \
 --subnet 192.168.1.0/24 \
 --gateway=192.168.1.1 \
 --driver=bridge \
 --opt com.docker.network.bridge.name=br-testnet testnet
      
      



C WCS Docker Hub





sudo docker pull flashphoner/webcallserver
      
      



WCS





sudo 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 flashphoner/webcallserver:latest
      
      



:





PASSWORD - SSH. , SSH ;





LICENSE - WCS. , -;





LOCAL_IP - IP , ip_local flashphoner.properties;





--net , . testnet.





:





ping 192.168.1.10
      
      



Web WCS https://192.168.1.10:8444 WebRTC "Two Way Streaming". .





, Docker, WCS . .





Docker , .. " " , " " .





, Docker , . . . , ?





. . . , Dockere.





! . :





docker run \
-e PASSWORD=password \
-e LICENSE=license_number \
-e LOCAL_IP=192.168.1.10 \
-e EXTERNAL_IP=192.168.23.6 \
-d -p8444:8444 -p8443:8443 -p1935:1935 -p30000-33000:30000-33000 \
--net testnet --ip 192.168.1.10 \
--name wcs-docker-test --rm flashphoner/webcallserver:latest
      
      



:





PASSWORD, LICENSE LOCAL_IP — ;





EXTERNAL_IP — IP . ip flashphoner.properties;





-p — . "testnet", .





https://192.168.23.6:8444 (IP Docker) "Two Way Streaming"





Web WCS WebRTC .





, !





!

10 . WCS. - , Docker .





, , .





, — - .





, , . WebRTC .





( --net host)





docker run \
-e PASSWORD=password \
-e LICENSE=license_number \
-e LOCAL_IP=192.168.23.6 \
-e EXTERNAL_IP=192.168.23.6 \
--net host \
--name wcs-docker-test --rm -d flashphoner/webcallserver:latest
      
      



! . - web WebRTC .





. .





. , .





1.12 Docker : Macvlan IPvlan. IP LAN.





  • Macvlan — (-) , MAC-.





    Linux v3.9–3.19 4.0+.





  • IPvlan — , MAC-.





    Linux v4.2 + ( , ).





IPvlan. , , VMWare ESXi. , VMWare ESXi MAC- , Macvlan .





. enp0s3, IP DHCP .





.. DHCP , Docker , , Docker , .





Docker. :





  1. DHCP , .





  2. Docker .





, DHCP . , , , .





Docker, , .





DHCP , 192.168.23. 99. Docker 32 192.168.23.100.





Docker "new-testnet":





docker network create -d ipvlan -o parent=enp0s3 \
--subnet 192.168.23.0/24 \
--gateway 192.168.23.1 \
--ip-range 192.168.23.100/27 \
new-testnet
      
      



:





ipvlan — ;





parent=enp0s3 — (enp0s3), ;





--subnet — ;





--gateway — ;





--ip-range — , Docker .





WCS





docker run \
-e PASSWORD=password \
-e LICENSE=license_number \
-e LOCAL_IP=192.168.23.101 \
-e EXTERNAL_IP=192.168.23.101 \
--net new-testnet --ip 192.168.23.101 \
--name wcs-docker-test --rm -d flashphoner/webcallserver:latest
      
      



web / WebRTC "Two-way Streaming":





. Ipvlan Macvlan Docker . , , , .





— WCS — . ssh .





IPvlan Docker . , , .





Dockere . , . , - .





WCS Docker





WCS Docker





WCS DockerHub








All Articles