freeswitch on centos docker

概述
freeswitch是一款简单好用的VOIP开源软交换平台。
centos7 docker上编译安装fs的流程记录。
环境
docker engine:Version 24.0.6
centos docker:7
freeswitch:v1.6.19
centos准备
docker hub拉取centos镜像。
sudo docker pull centos:7
启动docker容器,版本使用centos7。
sudo docker run -itd --name centos.7-fs.1.6.19-compile.1.1 centos:7
fs编译
进入docker容器。
sudo docker exec -it centos.7-fs.1.6.19-compile.1.1 bash
更新系统。
cd /root/
cat /etc/redhat-release
yum update
安装fs依赖。
yum install -y centos-release-scl centos-release-scl-rh
yum install -y scl-utils scl-utils-build yum-utils
yum install -y devtoolset-9-gcc
echo "signalwireusername" > /etc/yum/vars/signalwireusername
echo "TOKEN" > /etc/yum/vars/signalwiretoken
yum install -y https://$(< /etc/yum/vars/signalwireusername):$(< /etc/yum/vars/signalwiretoken)@freeswitch.signalwire.com/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm
yum install -y epel-release
yum-builddep -y freeswitch --skip-broken
yum install -y autoconf automake libtool gcc-c++ ncurses-devel make zlib-devel libjpeg-devel yasm nasm libevent-devel
yum install -y openssl-devel e2fsprogs-devel curl-devel pcre-devel speex-devel sqlite-devel mysql-devel
yum install -y ldns-devel libedit-devel lua-devel libsndfile-devel libshout-devel lame-devel
yum install -y which git
ln -s /usr/lib64/ilbc2/libilbc.so.0 /usr/lib64/libilbc.so.0
下载fs。
git clone https://github.com/signalwire/freeswitch.git -bv1.16.19 freeswitch
cd freeswitch
编译安装。
chmod 775 -R *
sh support-d/prereq.sh
./bootstrap.sh -j
./configure
make
make install
清理多余的文件。
yum clean all
rm -rf /var/cache/yum
rm -rf /root/freeswitch-1.6.19
镜像操作
制作镜像。
sudo docker commit -m="centos.7-fs.1.6.19-release" -a="zr" centos.7-fs.1.6.19-compile 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2
上传镜像到registry。
sudo docker images
sudo docker push 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2
下载镜像。
sudo docker pull 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2
启动容器release。
sudo docker run -itd --net=host -v /usr/local/freeswitch/conf:/usr/local/freeswitch/conf -v /usr/local/freeswitch/log:/usr/local/freeswitch/log -v /usr/local/freeswitch/recordings:/usr/local/freeswitch/recordings --name centos.7-fs.1.6.19-as 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2 /usr/local/freeswitch/bin/freeswitch -nonat -nosql -nonatmap -nocal -nort
sudo docker logs centos.7-fs.1.6.19-as
sudo docker exec -it centos.7-fs.1.6.19-as /usr/local/freeswitch/bin/fs_cli -x status
sudo docker rm -f centos.7-fs.1.6.19-as
总结
centos系统后续的维护问题需要关注。
Debian系统的依赖包大多比较新,比centos要友好。
Debian和rocky的方向需要验证和抉择一下。
空空如常
求真得真
freeswitch on centos docker的更多相关文章
- centos docker 安装
centos docker 安装 参考网站 https://docs.docker.com/install/linux/docker-ce/centos/ 1.删除原有docker $ sudo yu ...
- Centos + docker,Ubuntu + docker介绍安装及详细使用
docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...
- .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...
- 安装centos docker ce
安装centos docker ce 移除旧的版本: $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker- ...
- Docker(三):Docker入门教程-CentOS Docker 安装
CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发 ...
- [第三篇]——CentOS Docker 安装之Spring Cloud直播商城 b2b2c电子商务技术总结
CentOS Docker 安装 Docker 支持以下的 64 位 CentOS 版本: CentOS 7 CentOS 8 更高版本... 使用官方安装脚本自动安装 安装命令如下: curl -f ...
- CentOS Docker安装、镜像加速
CentOS Docker安装 方法一:使用官方安装脚本自动安装 # 安装命令: curl -fsSL https://get.docker.com | bash -s docker --mirror ...
- centos docker 升级至最新稳定版--摘自官网
亲测好使 删除老版本的docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ do ...
- CentOS docker 常用命令
yum install docker 安装服务 systemctl start docker.service 启动服务 systemctl enable docker.service 开机启动服务 d ...
- Docker入门 - 001 CentOS Docker 安装
Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. ...
随机推荐
- JVM整理笔记
1.JVM位置 JVM是作用在操作系统之上的,它与硬件没有直接的交互 2.JVM体系结构 3.类装载器ClassLoader 类装载器:负责加载class文件,class文件在文件开头有特定的文件标示 ...
- Vite4+Typescript+Vue3+Pinia 从零搭建(7) - request封装
项目代码同步至码云 weiz-vue3-template 基于 axios 封装请求,支持多域名请求地址 安装 npm i axios 封装 utils 目录下新建 request 文件夹,并新建 i ...
- Selenium等待元素出现
https://www.selenium.dev/documentation/webdriver/waits/ 有时候我们需要等待网页上的元素出现后才能操作.selenium中可以使用以下几种方法等大 ...
- NetSuite Tips —— 发送邮件未被接收或被退回
Background: NS 发送的邮件过于频繁被邮箱系统识别为垃圾邮件,被拒收或被拦截 Solution: 添加以下邮箱地址到白名单 system@sent-via.netsuite.com nlm ...
- ElasticSearch之Shard request cache settings
对于查询操作,Elasticsearch提供了缓存特性来暂存结果. 对于相同条件的查询请求,在缓存中的数据失效前,响应后续的查询操作时可以直接从缓存中提取结果,有效降低检索操作的时延,提升检索数据时的 ...
- 2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放
2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放 ...
- 基于Llama2模型的开源模型
2023年7月18日Meta开源了Llama2,在2万亿个Token上训练,可用于商业和研究,包括从7B到70B模型权重.预训练和微调的代码.相比Llama1,Llama2有较多提升,评估结果如下 ...
- 云小课|GaussDB如何进行性能调优
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:GaussDB性能 ...
- 一段java代码是如何执行的?
摘要:当你学会了java语言之后,你写了一些代码,然后你想要执行你的代码,来达成某些功能.那么,你都知道这段java代码都是如何执行的吗? 本文分享自华为云社区<一段java代码是如何执行的&g ...
- 解析Stream foreach源码
摘要:串行流比较简单,对于parallelStream,站在它背后的是ForkJoin框架. 本文分享自华为云社区<深入理解Stream之foreach源码解析>,作者:李哥技术 . 前言 ...