fs.1.10 ON rockeylinux8 dockerfile模式

概述

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

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

环境

docker engine:Version 24.0.6

rockylinux docker:8

freeswitch:v1.10.7

dockerfile

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

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

mkdir rockylinux.8-fs.1.10

cd rockylinux.8-fs.1.10

git clone GitHub - signalwire/freeswitch: FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device. -bv1.10.7 freeswitch-1.10.7

ls

dockerfile freeswitch-1.10.7

dockerfile文件内容如下。

vi dockerfile

FROM rockylinux:8

WORKDIR /root

ADD ./freeswitch-1.10.7 /root/freeswitch

RUN cd /root/ \
&& dnf install 'dnf-command(config-manager)' -y \
&& dnf config-manager --set-enabled powertools \
&& echo "signalwire" > /etc/yum/vars/signalwireusername \
&& echo "TOKEN" > /etc/yum/vars/signalwiretoken \
&& dnf 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 \
&& dnf install -y epel-release -y \
&& dnf makecache \
&& dnf -y update \
&& dnf remove -y spandsp-devel spandsp \
&& dnf install -y sofia-sip-devel spandsp3-devel libks signalwire-client-c erlang postgresql-devel libtool python2-devel gcc-c++ zlib-devel libpng-devel sqlite-devel libcurl-devel pcre-devel speex-devel speexdsp-devel ldns-devel libedit-devel ilbc2-devel opus-devel lua-devel libsndfile-devel \
&& dnf install -y which tzdata yasm git \
&& cd /root/freeswitch/ \
&& chmod 775 -R * \
&& ./bootstrap.sh -j \
&& ./configure \
&& cd /root/freeswitch/src/mod/codecs/mod_g729/ \
&& make \
&& 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 \
&& cd /root/freeswitch/src/mod/applications/mod_distributor \
&& make \
&& make install \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& dnf -y autoremove \
&& dnf clean all \
&& rm -rf /var/cache/dnf/* \
&& rm -rf /root/freeswitch \
&& rm -rf /usr/share/icons /usr/share/themes/ /usr/share/doc /usr/share/man \
&& 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/rockylinux.8-fs.1.10-release:v1.1.1 .

上传镜像到registry。

sudo docker images

sudo docker push 10.55.55.136:5000/zr/rockylinux.8-fs.1.10-release:v1.1.1

下载镜像。

sudo docker pull 10.55.55.136:5000/zr/rockylinux.8-fs.1.10-release:v1.1.1

启动容器

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

sudo docker logs rockylinux.8-fs.1.10-sbc

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

sudo docker rm -f rockylinux.8-fs.1.10-sbc

总结

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

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

空空如常

求真得真

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/27463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有没有硅基生命?AGI在哪里?

摘要 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;和生命科学的探索逐渐成为人们关注的焦点。其中&#xff0c;关于硅基生命的可能性与AGI&#xff08;Artificial General Intelligence&#xff0c;即人工通用智能&#xff09;的实现&#xff0c;更是引…

VisionOS的未来愿景:苹果VisionPro创业者的愿望清单

随着苹果公司在增强现实(AR)领域的不断探索,VisionPro作为其前沿产品,已经开始展现出改变我们与数字世界互动方式的潜力。作为一名VisionPro创业者,对未来VisionOS的更新充满了期待,并提出了一系列愿望清单,这些愿望不仅代表了个人的需求,也反映了用户社区对苹果AR生态的…

Qt 槽函数重载时通过函数指针绑定

文章目录 信号槽函数绑定 信号 public slots:void testShow();void testShow(int a);signals:void show(int a);槽函数 void A::testShow(){qDebug() <<"testShow(" QString::number(1) ")" << QThread::currentThreadId(); } void A::tes…

服务器如何远程桌面连接不上,服务器远程桌面连接不上解决办法

服务器远程桌面连接不上&#xff0c;是IT运维中常见的挑战之一。针对这一问题&#xff0c;专业的解决方法通常涉及以下几个方面的排查与操作&#xff1a; 首先&#xff0c;我们需要检查网络连接是否正常。远程桌面连接依赖于稳定的网络连接&#xff0c;因此&#xff0c;确认服务…

c++处理字符串

在C中&#xff0c;std::string类型提供了许多成员函数来处理字符串。以下是一些常用的std::string成员函数&#xff1a; 1.长度&#xff1a; 2.字串&#xff1a; size():返回字符串中的字符数&#xff08;不包括终止的空字符&#xff09;。length():与size()功能相同。empty…

MT1350 分数计算

题目 编写函数&#xff0c;实现分数加减运算并输出结果&#xff0c;注意结果要化为最简分数。不考虑不合理的输入等特殊情况&#xff0c;比如分母不能为0。 格式 输入格式 输入形式A/BC/D或者A/B-C/D&#xff0c;其中ABCD为整型。 输出格式 输出形式X/Y&#xff0c;或-X/…

【中台】数字中台整体建设技术方案(doc原件获取)

1. 中台概念 2. 推动企业组织模式演进 3. 建设方法 4 .中台内容 5. 数据安全体系 中台内容围绕数据中台建设评估、整体框架、数据采集&#xff0c;结构化、半结构化、非结构化的数据采集&#xff0c;数据计算能力、存储计算引擎、数据架构、数据挖掘、各种不同数据层建设、模型…

[大师C语言(第二十九篇)]C语言函数探秘

引言 函数是C语言中的基本单位&#xff0c;用于封装可重用的代码块。在C语言中&#xff0c;函数背后的技术包括函数的定义、调用、参数传递、返回值以及函数的内部实现等。本文将深入探讨C语言函数背后的技术&#xff0c;帮助你更好地理解和应用函数。 第一部分&#xff1a;函…

Visual Studio Code连接VMware虚拟机

1.安装VS Code插件 在拓展中安装插件 Remote-SSH 2.在虚拟机中安装OpenSSH服务器 使用超级用权限(root)更新软件包列表&#xff0c;Debian系统和Ubuntu系统使用apt包管理工具&#xff1a; sudo apt update CentOS系统使用yum或dnf包管理工具&#xff1a; sudo yum update …

“短剧制作新革命!揭秘开发高效系统的秘诀“

1、技术创新的应用&#xff1a; 云原生架构&#xff1a;采用云原生架构&#xff0c;以确保系统的高可用性和可扩展性&#xff0c;同时有效降低维护成本。 边缘计算&#xff1a;通过边缘计算技术&#xff0c;将内容分发到离用户最近的服务器&#xff0c;以减少延迟并提升播放速…

小程序 UI 风格,清新脱俗

小程序 UI 风格&#xff0c;清新脱俗

【QT5】<总结> QT主要技术点

文章目录 前言 一、QT串口编程 二、QT网络编程 三、QT多线程 四、QT连接数据库 五、开发板上运行QT程序 前言 在学习QT的过程中&#xff0c;旨在更好地巩固所学到的知识&#xff0c;本篇总结QT在嵌入式开发中的主要技术点。 一、QT串口编程 思维导图&#xff1a; 知识点…

如何查看当前的gruop_id 的kafka 消费情况 这个可以查看到是否存在消费阻塞问题

如何查看当前的gruop_id 的kafka 消费情况 这个可以查看到是否存在消费阻塞问题 命令如下: /kafka/bin/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --group GWW --describe 其中 127.0.0.1 为zookeeper 服务器ip GWW 为对应要查看的group_id 如下…

零基础开始学习鸿蒙开发-@State的使用以及定义

1.State组件介绍 首先定义 State为鸿蒙开发的一个状态组件&#xff0c;当它修饰的组件发生改变时&#xff0c;UI也会相应的刷新&#xff0c;简单介绍就是这样&#xff0c;下面我们用代码去体会一下。 2.定义DeliverParam类 首先定义一个模型类&#xff0c;类里面定义一个构造…

UE4中性能优化工具合集

UE4中性能优化工具合集 简述CPUUnreal InsightUnreal ProfilerSimpleperfAndroid StudioPerfettoXCode TimeprofilerBest Practice GPUAdreno GPUMali GPUAndroid GPU Inspector (AGI) 内存堆内存分析Android StudioLoliProfilerUE5 Memory InsightsUnity Mono 内存MemreportRH…

【计算机视觉】人脸算法之图像处理基础知识(二)

图像处理基础知识&#xff08;二&#xff09; 1.图像的颜色空间转换 我们常见的图像通常由R&#xff08;红色&#xff09;、G&#xff08;绿色&#xff09;、B&#xff08;蓝色&#xff09;组成。但是在很多时候我们会将彩色图像转换成灰度图像进行处理。此时会用到cv2.cvtCo…

[大模型]Qwen2-7B-Instruct vLLM 部署调用

vLLM 简介 vLLM 框架是一个高效的大语言模型推理和部署服务系统&#xff0c;具备以下特性&#xff1a; 高效的内存管理&#xff1a;通过 PagedAttention 算法&#xff0c;vLLM 实现了对 KV 缓存的高效管理&#xff0c;减少了内存浪费&#xff0c;优化了模型的运行效率。高吞吐…

【Spring】Spring事务相关源码分析

目录&#xff1a; 1.讲述事务的一些基础概念。 2.讲述事务的生命周期源码 3.配置事务&#xff0c;以及事务注解的源码 1.前言 具体事务中Spring是怎么管理事务&#xff0c;怎么去管理、创建、销毁等操作的呢&#xff1f;这一次来分解一下。 2.事务概述&#xff08;复习&a…

火绒安全删除explorer.exe文件造成windows系统异常的问题

问题 过程是这样的&#xff0c;电脑在使用过程中突然就变成了黑色的&#xff0c;任务栏、桌面等都消失了&#xff0c;只有部分程序的窗口。具体如下&#xff1a; 因为&#xff0c;在变化的时候&#xff0c;我有瞟到一眼有个火绒的气泡消息&#xff0c;就感觉是火绒错误的删除…

文件和文件系统:深入探讨

目录 1. 文件&#xff0c;记录和数据项 文件 记录 数据项 通过层次结构组织数据 2. 文件名和文件类型 文件名 常见的扩展名及其含义 扩展名的作用 示例 3. 文件系统的结构层次 根目录 子目录 文件 文件系统的层次结构的优势 4. 文件操作 总结 文件和文件系统是…