Docker安装WebRTC下TURN服务
时间:2024-04-21 08:45:24 来源:网络cs 作者:璐璐 栏目:卖家故事 阅读:
阅读本书更多章节>>>>
详细实现方式以及代码下载请前往 https://www.passerma.com/article/90
实现效果
一、手动构建镜像
1.新建Dockerfile文件
文件用于编译镜像
以alpine为基础镜像
添加coturn需要的依赖库
获取coturn并进行编译
通过start.sh启动turnserver服务
Dockerfile
FROM alpineRUN apk add make \ gcc\ g++ \ wget \ libevent-dev \ openssl-dev \ libffi-dev \ curlRUN wget https://github.com/coturn/coturn/archive/4.5.1.3.tar.gz \ && tar -zxvf 4.5.1.3.tar.gz \ && cd coturn-4.5.1.3 \ && ./configure && make && make install && cd .. \ && rm -rf coturn-4.5.1.3 4.5.1.3.tar.gzCOPY ./start.sh /start.shEXPOSE 3478 3478/udpENTRYPOINT ["/start.sh"]
2.新建start.sh文件
需要先给予start.sh文件可执行权限
chmod +x start.sh
start.sh
#!/bin/shcreateConf() { if [ -z "$EXTERNAL_IP" ]; then ip_tmp=$(curl http://icanhazip.com) if [ $? -eq 0 ]; then echo "获取 EXTERNAL_IP 成功: $ip_tmp" EXTERNAL_IP="$ip_tmp" else echo "获取 EXTERNAL_IP 失败,请手动修改" EXTERNAL_IP="0.0.0.0" fi else echo "EXTERNAL_IP 已经设置为: $EXTERNAL_IP" fi cat <<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 ]; then echo "创建 /etc/turnserver.conf 配置文件" createConf echo "====== 启动 turnserver ======" echo "external-ip=$EXTERNAL_IP" echo "user=$user_tmp"else echo "/etc/turnserver.conf 配置文件已存在" echo "====== 启动 turnserver ======"fiexec turnserver -v -c /etc/turnserver.conf
3.编译镜像
docker build -t passerma/turnserver .
二、使用现有镜像
docker pull passerma/turnserver
三、镜像使用
1.直接运行
docker run -itd --name turnserver -p 3478:3478 -p 3478:3478/udp passerma/turnserver
2.带参数运行
支持修改公网 ip、用户名、密码
docker run -itd --name turnserver \-e EXTERNAL_IP=1.2.3.4 -e TURN_USERNAME=myuser -e TURN_PASSWORD=mypass \-p 3478:3478 -p 3478:3478/udp \passerma/turnserver
3.配置修改
配置文件位置 /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
四、项目源码
详细实现方式以及代码下载请前往 https://www.passerma.com/article/90
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/gushi/2024-04-21/160846.html,文章来源:网络cs,作者:璐璐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
下一篇:返回列表