首页 > 系统相关 >fs.1.10 ON CENTOS7 dockerfile模式

fs.1.10 ON CENTOS7 dockerfile模式

时间:2024-04-11 18:25:08浏览次数:27  
标签:10 CENTOS7 fs.1 yum usr && freeswitch local

 

概述

freeswitch是一款简单好用的VOIP开源软交换平台。

centos7 docker上编译安装fs.1.10的流程记录,本文使用dockerfile模式。

环境

docker engine:Version 24.0.6

centos docker:7

freeswitch:v1.10.7

dockerfile

创建空目录,创建dockerfile文件。

github访问经常失败,先下载好源码包,并将fs.1.10.7源码文件夹拷贝到目录下。

mkdir centos.7-fs.1.10

cd centos.7-fs.1.10

git clone https://github.com/signalwire/freeswitch.git -bv1.10.7 freeswitch-1.10.7

ls

dockerfile freeswitch-1.10.7

 

保持编译的简易性,该版本不编译mod_av相关的模块,删除mod_av模块目录。

sudo rm -rf freeswitch-1.10.7/src/mod/applications/mod_av

屏蔽configure文件的mod_av模块。

vi freeswitch-1.10.7/configure.ac

删除行,src/mod/applications/mod_av/Makefile

 

dockerfile文件内容如下。

vi dockerfile

FROM centos:7

 

WORKDIR /root

 

ADD ./freeswitch-1.10.7 /root/freeswitch

 

RUN cd /root/ \

&& yum -y update \

&& 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 "signalwiretoken" > /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 install -y yum-utils \

&& yum-builddep -y freeswitch --skip-broken \

&& yum install -y yum-plugin-ovl rpmdevtools yum-utils git centos-release-scl centos-release-scl-rh \

&& yum remove -y spandsp-devel spandsp \

&& yum install -y sofia-sip-devel spandsp3-devel libks signalwire-client-c erlang python-devel postgresql-devel \

&& yum install -y which tzdata ilbc2-devel opus-devel \

# && git clone https://github.com/signalwire/freeswitch.git -bv1.10.7 freeswitch \

&& cd /root/freeswitch/ \

&& chmod 775 -R * \

&& ./bootstrap.sh -j \

&& ./configure \

&& cd /root/freeswitch/ \

&& make \

&& make install \

&& cd /root/freeswitch/src/mod/codecs/mod_ilbc \

&& make \

&& make install \

&& cd /root/freeswitch/src/mod/applications/mod_translate \

&& make \

&& make install \

&& ln -s /usr/lib64/ilbc2/libilbc.so.0 /usr/lib64/libilbc.so.0 \

&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \

&& yum clean all \

&& package-cleanup --quiet --leaves | xargs yum remove -y \

# && package-cleanup --quiet --dupes | xargs yum remove -y \

&& rm -rf /var/cache/yum \

&& rm -rf /root/freeswitch \

&& rm -rf /usr/local/freeswitch/conf /usr/local/freeswitch/log /usr/local/freeswitch/recordings

 

# EXPOSE 5080

 

VOLUME ["/usr/local/freeswitch/conf", "/usr/local/freeswitch/log", "/usr/local/freeswitch/recordings", "/usr/local/freeswitch/sounds", "/usr/local/freeswitch/webapp"]

 

CMD /usr/local/freeswitch/bin/freeswitch -nonat -nosql -nonatmap -nocal -nort

镜像操作

制作镜像,注意命令最后一个参数是当前目录“.“。

sudo docker build --no-cache -t 10.55.55.136:5000/zr/centos.7-fs.1.10-release:v1.1.1 .

 

[+] Building 1120.5s (9/9) FINISHED docker:default

=> [internal] load build definition from dockerfile 0.1s

=> => transferring dockerfile: 2.75kB 0.0s

=> [internal] load metadata for docker.io/library/centos:7 0.0s

=> [internal] load .dockerignore 0.1s

=> => transferring context: 2B 0.0s

=> [1/4] FROM docker.io/library/centos:7 0.0s

=> [internal] load build context 0.4s

=> => transferring context: 1.16MB 0.3s

=> CACHED [2/4] WORKDIR /ROOT 0.0s

=> [3/4] ADD ./freeswitch-1.10.7 /root/freeswitch 1.3s

=> [4/4] RUN cd /root/ && yum -y update && 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 && ec 1106.0s

=> exporting to image 12.0s

=> => exporting layers 12.0s

=> => writing image sha256:008cccf11d97a69d076a32fa8e27a93dd7899f4cf258ea102644f63badd9bfc8 0.0s

=> => naming to 10.55.55.136:5000/zr/centos.7-fs.1.10-release:v1.1.0 0.0s

 

上传镜像到registry。

sudo docker images

sudo docker push 10.55.55.136:5000/zr/centos.7-fs.1.10-release:v1.1.0

 

下载镜像。

sudo docker pull 10.55.55.136:5000/zr/centos.7-fs.1.10-release:v1.1.0

 

启动容器

sudo docker run -itd --net=host -v /home/adminx/docker/centos.7-fs.1.6.19/fs-sbc/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.10-sbc 10.55.55.136:5000/zr/centos.7-fs.1.10-release:v1.1.1 /usr/local/freeswitch/bin/freeswitch -nonat -nosql -nonatmap -nocal -nort

sudo docker logs centos.7-fs.1.10-sbc

sudo docker exec -it centos.7-fs.1.10-sbc /usr/local/freeswitch/bin/fs_cli -x status

sudo docker rm -f centos.7-fs.1.10-sbc

总结

编译出的docker镜像还是比较大,需要持续瘦身。

centos系统后续的维护问题需要关注。

centos和rocky的方向需要验证和抉择一下。

 

空空如常

求真得真

标签:10,CENTOS7,fs.1,yum,usr,&&,freeswitch,local
From: https://www.cnblogs.com/qiuzhendezhen/p/18129820

相关文章

  • 洛谷题单指南-数学基础问题-P1072 [NOIP2009 提高组] Hankson 的趣味题
    原题链接:https://www.luogu.com.cn/problem/P1072题意解读:求有多少个x,满足x和a0​的最大公约数是a1​,x和b0​的最小公倍数是b1,多组数据。解题思路:枚举法:因为x和a0​的最大公约数是a1​,x和b0​的最小公倍数是b1,所以x不大于b1​。枚举x有两种思路:1、x是a1的倍数,最多需要枚举......
  • Layerscape® LS1043AXN7QQB、LS1043AXN8QQA四核64位ARM处理器,ACFJ-3439T-000E(17A)栅
    一、Layerscape®1043A处理器简介:LS1043A处理器是一款面向嵌入式网络的四核64位Arm®处理器。LS1043A可通过支持无风扇设计的灵活I/O封装,提供超过10Gbps的性能。这款SoC是专为小规格网络、工业和汽车应用而打造的解决方案,针对经济型低端PCB优化了物料成本(BOM),降低了电源成本,......
  • 3 数字麦阵列声源定位模组 AR1105
    一,产品概述:AR1105是一款专用于音源定位寻向的模组。模组选用行业最新算法内核DSP芯片,并综合简单易用的原则而设计。AR1105模组需要搭配3颗间距都为10mm数字麦克风,利用每2颗数字麦克风组合的心形指向性,能够方便快速的辨识圆周6个方向的音源方向。对比常规的需要......
  • 洛谷题单指南-数学基础问题-P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
    原题链接:https://www.luogu.com.cn/problem/P1029题意解读:已知x,y,求有多少对p、q,使得p、q的最大公约数为x,最小公倍数为y。解题思路:枚举法即可。枚举的对象:枚举p,且p必须是x的倍数,还有p<=yq的计算:q=x*y/p,q要存在,必须x*y%p==0,且gcd(p,q)==x100分代码:#include......
  • MAX868EUB 开关稳压器芯片 MSOP-10
    MAX868EUB是一款开关稳压器集成电路(IC),由MaximIntegrated公司生产。它是一种固定充电泵开关稳压器,具有正或负输出配置,拓扑结构为充电泵。该器件适用于需要稳定电源输出的应用,例如可穿戴设备和其他电子产品。 MAX868EUB开关稳压器集成电路适用于需要稳定电源输出的各种应用......
  • IRLML0100TRPBF 电子元器件 MOSFET 100V SOT-23-3
    IRLML0100TRPBF的封装形式是MicroSMD封装,引脚数为3。该器件广泛应用于各种电子设备和电路中,如开关电源、电池充电器、逆变器、电机驱动器等。IRLML0100TRPBF的规格信息:制造商:Infineon                    产品种类:MOSFETRoH......
  • DC/DC高压电源模块线性可调升压变换器12V24V48V转0-1000V/0-2000V/0-3000V/0-4000VDC
    特点效率高达75%以上62*45*23mm标准封装单电压输出可直接焊在PCB上工作温度:-40℃~+75℃阻燃封装,满足UL94-V0要求温度特性好电压控制输出,输出电压随控制电压线性变化应用GRB 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为:10~18V、18~36V及36~72......
  • 2024-4-10面试真题
    用过的云产品示例性的云产品包括但不限于:计算服务:如AmazonEC2、阿里云ECS、AzureVirtualMachines、GoogleCloudComputeEngine等,提供按需的云主机服务。存储服务:如AWSS3、阿里云OSS、AzureBlobStorage,用于对象存储。数据库服务:如AWSRDS、阿里云RDS、AzureSQ......
  • 52 Things: Number 10: What is the difference between the RSA and strong-RSA prob
    52Things:Number10:WhatisthedifferencebetweentheRSAandstrong-RSAproblem?52件事:数字10:RSA和强RSA问题有什么区别?Thisisthelatestinaseriesofblogpoststoaddressthelistof'52ThingsEveryPhDStudentShouldKnowToDoCryptography......
  • 4.10
    来简述一下最近几天发生的事吧大概前天还是昨天,在踢球的时候,发球正好开到了一个系鞋带的同级同学头上。然后连忙道歉,结果还是被别人拽住了双手,步步逼近。呜呜呜当时真的是给吓傻了,倒不是说我真的怕他,只是没见识过这么急的人,直接给我吓傻了,一句话都没说就愣在那被别人抓着手往后推......