Docker安装WebRTC下TURN服务

2024-01-06 17:35 docker 251 0
实现效果一、手动构建镜像1.新建Dockerfile文件文件用于编译镜像以alpine为基础镜像添加coturn需要的依赖库获取coturn并进行编译通过start.sh启动turnserver服务DockerfileFROMalpineRUNapkaddmake\gcc\g++\wget\libevent-dev\openssl-dev\libffi-dev\curlRUNwgethttps://github.com/coturn/coturn/archive/4.5.1.3.tar.gz\&&tar-zxvf4.5.1.3.tar.gz\&&cdcoturn-4.5.1.3\&&./configure&&make&&makeinstall&&cd..\&&rm-rfcoturn-4.5.1.34.5.1.3.tar.gzCOPY./start.sh/start.shEXPOSE34783478/udpENTRYPOINT["/start.sh"]2.新建start.sh文件需要先给予start.sh文件可执行权限chmod+xstart.shstart.sh#!/bin/shcreateConf(){if[-z"$EXTERNAL_IP"];thenip_tmp=$(curlhttp://icanhazip.com)if[$?-eq0];thenecho"获取EXTERNAL_IP成功:$ip_tmp"EXTERNAL_IP="$ip_tmp"elseecho"获取EXTERNAL_IP失败,请手动修改"EXTERNAL_IP="0.0.0.0"fielseecho"EXTERNAL_IP已经设置为:$EXTERNAL_IP"ficat<<EOF>>/etc/turnserver.conflistening-device=eth0listening-port=3478listening-ip=0.0.0.0external-ip=$EXTERNAL_IPfingerprintlt-cred-mechuser=$user_tmprealm=localhostno-tlsv1no-tlsv1_1no-tlsv1_2EOF}echo"======配置turnserver======"user_tmp=${TURN_USERNAME:-"user"}:${TURN_PASSWORD:-"pass"}if[!-f/etc/turnserver.conf];thenecho"创建/etc/turnserver.conf配置文件"createConfecho"======启动turnserver======"echo"external-ip=$EXTERNAL_IP"echo"user=$user_tmp"elseecho"/etc/turnserver.conf配置文件已存在"echo"======启动turnserver======"fiexecturnserver-v-c/etc/turnserver.conf3.编译镜像dockerbuild-tpasserma/turnserver.二、使用现有镜像dockerpullpasserma/turnserver三、镜像使用1.直接运行dockerrun-itd--nameturnserver-p3478:3478-p3478:3478/udppasserma/turnserver2.带参数运行支持修改公网ip、用户名、密码dockerrun-itd--nameturnserver\-eEXTERNAL_IP=1.2.3.4-eTURN_USERNAME=myuser-eTURN_PASSWORD=mypass\-p3478:3478-p3478:3478/udp\passerma/turnserver3.配置修改配置文件位置/etc/turnserver.conf配置文件默认如下listening-device=eth0listening-port=3478listening-ip=0.0.0.0external-ip=0.0.0.0fingerprintlt-cred-mechuser=user:passrealm=localhostno-tlsv1no-tlsv1_1no-tlsv1_2默认用户名密码为user:pass四、项目源码githubdockerhub
暂无评论,我会出手
说点什么
登录用户可以修改和删除评论,可以收到回复的邮件提醒点击登录/注册
最多上传8张图片,仅支持jpg,png格式图片,单张大小5MB以内!
用户名: