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 https://github.com/signalwire/freeswitch.git -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的方向需要验证和抉择一下。
空空如常
求真得真
fs.1.10 ON rockeylinux8 dockerfile模式的更多相关文章
- Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装
Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装 1.下载hive-0.10.0 网址是:http://archive.apache.org/dist/hive/hive-0.10 ...
- Windows 10 Creaters Update 画中画模式和窗口高斯模糊
在Windows 10 Creaters Update中,可以给窗口设置高斯模糊了,只要几行代码! <Grid Loaded="Grid_Loaded"> <Gr ...
- 解决大于 4GB 的 Windows 10 镜像在 UEFI 模式下的安装问题
制作一个 Windows 安装 U 盘是很容易的,使用 UltraISO 这样的刻录工具量产一个 iso 镜像文件到 U 盘即可.然而随着 Windows 10 版本号的提升,镜像变得越来越大,终于 ...
- 在Windows 10中开启开发者模式
及以上)的电脑上使用Visual Studio来开发Windows 10或者Windows 8.1的应用,你可能会遇到下面的问题,要求你开启开发者模式. 于是你跑到设置里面,把开发者模式打开: 结果你 ...
- Weblogic 10.3.6生产模式启动
生产模式启动里需要输入用户名和密码,很麻烦.在域的/security目录下创建文件boot.properties,内容为: username=weblogic password=weblogic123 ...
- 10.Java设计模式 工厂模式,单例模式
Java 之工厂方法和抽象工厂模式 1. 概念 工厂方法:一抽象产品类派生出多个具体产品类:一抽象工厂类派生出多个具体工厂类:每个具体工厂类只能创建一个具体产品类的实例. 即定义一个创建对象的接口(即 ...
- ActionBar官方教程(10)ActionBar的下拉列表模式
Adding Drop-down Navigation As another mode of navigation (or filtering) for your activity, the acti ...
- 【设计模式 - 10】之外观模式(Facade)
1 模式简介 外观模式隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口.外观模式往往涉及到一个类,这个类提供了客户端请求的简化方法和对现有系统类方法的委托调用.外观模式使得系统中的 ...
- 设计模式 --> (10)享元模式
享元模式 运用共享技术有效地支持大量细粒度的对象. 享元对象能做到共享的关键是区分内蕴状态(Internal State)和外蕴状态(External State). 内蕴状态是存储在享元对象内部并且 ...
- Solr 10 - SolrCloud集群模式简介 + 组成结构的说明
目录 1 什么是SolrCloud 2 SolrCloud的结构 2.1 物理结构 2.2 逻辑结构 2.2.1 Collection(集合) 2.2.2 Core(内核) 2.2.3 Shard(分 ...
随机推荐
- 5月25日,阿里云开源 PolarDB-X 将迎来重磅升级发布
简介:2022年5月25日,阿里云开源 PolarDB-X 将升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 2021 ...
- 媒体智能-淘宝直播流媒体互动实践 | D2 分享视频+文章
背景:今天给大家带来的分享主题是<媒体智能-淘宝直播流媒体互动实践>,内容分为5个部分,首先看看在淘宝直播的直播间里主播可以怎样给用户拜年:然后具体讲如何制作一个手势拜年的特效:接着介绍我 ...
- Flow vs Jenkins 实操对比,如何将Java应用快速发布至ECS
简介:Jenkins 由于其开源特性以及丰富插件能力,长久以来都是中小企业搭建 CICD 流程的首选.不过 Jenkins 存在维护成本高.配置复杂等缺点,云效 Flow 较好地解决了这些问题. 本 ...
- [GPT] 如何让 vue-router 打开新窗口
在Vue Router中打开新窗口可以通过使用 <router-link> 组件的 target 属性来实现.将 target 属性设置为`"_blank"`将会在 ...
- 2019-9-2-C#-设计模式-责任链
title author date CreateTime categories C# 设计模式 责任链 lindexi 2019-09-02 12:57:37 +0800 2018-2-13 17:2 ...
- 16.prometheus监控总结
一.监控流程总结 1.需要在被监控的服务器上安装xx_exporter来收集数据(可以是源码安装,最好用docker.docker-compose) 2.添加Prometheus配置,去收集(xx_e ...
- goland配置在远程linux里运行代码开发,并debug调适
环境: windows 10 phpstudy8.1.1.3 Vmware安装centos7.6 场景 window10里goland开发,在远程linux里运行,并debug断点调适 步骤: win ...
- 提取关键词作为标题---Java调用Python实现
目录 前景提示 思考 企业级处理方案流程图 Python 实现的方式 Java实现 导入Maven包 书写代码 最终版本 遗留问题: 遇到问题 1.无法解析. 2.模块找不到. 3.乱码处理 版本 继 ...
- JDK源码阅读-------自学笔记(十)(java.lang.Integer包装类初探)
自动装箱和拆箱 JDK1.5后,Java引入了自动装箱(autoboxing)/拆箱(unboxing) 自动装箱 基本数据类型在需要时自动转化为对象 自动装箱 对象在需要时自动转化为基本数据类型 注 ...
- 撤销 git commit
目录 文章目录 目录 场景1:撤回 commit,不撤销 git add .,保留代码 场景2:撤回 commit,撤销 git add .,保留代码 场景3:撤销 commit,撤销 git add ...