概述

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的更多相关文章

  1. centos docker 安装

    centos docker 安装 参考网站 https://docs.docker.com/install/linux/docker-ce/centos/ 1.删除原有docker $ sudo yu ...

  2. Centos + docker,Ubuntu + docker介绍安装及详细使用

    docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...

  3. .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑

    今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...

  4. 安装centos docker ce

    安装centos docker ce 移除旧的版本: $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker- ...

  5. Docker(三):Docker入门教程-CentOS Docker 安装

    CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发 ...

  6. [第三篇]——CentOS Docker 安装之Spring Cloud直播商城 b2b2c电子商务技术总结

    CentOS Docker 安装 Docker 支持以下的 64 位 CentOS 版本: CentOS 7 CentOS 8 更高版本... 使用官方安装脚本自动安装 安装命令如下: curl -f ...

  7. CentOS Docker安装、镜像加速

    CentOS Docker安装 方法一:使用官方安装脚本自动安装 # 安装命令: curl -fsSL https://get.docker.com | bash -s docker --mirror ...

  8. centos docker 升级至最新稳定版--摘自官网

    亲测好使 删除老版本的docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ do ...

  9. CentOS docker 常用命令

    yum install docker 安装服务 systemctl start docker.service 启动服务 systemctl enable docker.service 开机启动服务 d ...

  10. Docker入门 - 001 CentOS Docker 安装

    Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. ...

随机推荐

  1. [ABC311G] One More Grid Task

    Problem Statement There is an $N \times M$ grid, where the square at the $i$-th row from the top and ...

  2. What's past is prologue

    凡是过去,皆为序章.爱所有人,信任少数人,不负任何人.我荒废了时间,时间便把我荒废了. 在灰暗的日子中,不要让冷酷的命运窃喜:命运既然来凌辱我们,就应该用处之泰然的态度予以报复.明智的人决不坐下来为失 ...

  3. 【笔记整理】忽略https证书校验

    import requests url = "https://sam.huat.edu.cn:8443/selfservice/" # 默认不忽略ssl证书,如果有证书问题的网站会 ...

  4. 自定义开发odoo14的统计在线用户人数

    在 Odoo 14 中统计在线人数通常涉及到定制开发或者使用特定的模块. 自定义开发:如果没有现成的模块,您可能需要进行一些自定义开发.这通常涉及到扩展Odoo的用户模型,以跟踪用户的登录和登出活动. ...

  5. .NET MAUI (微软 .Net 6 跨多平台应用 UI)框架的研究学习

    针对 .NET MAUI (微软 .Net 6 跨多平台应用 UI)框架的研究学习,使用VS2022  C# 和 XAML 创建本机移动和桌面应用,开发一套代码可以发布在 Android . iOS ...

  6. CVE-2023-36025 Windows SmartScreen 安全功能绕过漏洞

    CVE-2023-36025是微软于11月补丁日发布的安全更新中修复Windows SmartScreen安全功能绕过漏洞.攻击者可以通过诱导用户单击特制的URL来利用该漏洞,对目标系统进行攻击.成功 ...

  7. 浅学GoF23种设计模式

    long long ago 买了设计模式的书,一直没看,平常工作虽然涉及到,但是不够系统,工作之余抽空学习一下. 一.创建型模式 01.单例(Singleton) 02.工厂方法(Factory Me ...

  8. Java 在Excel中添加筛选器并执行筛选

    以下内容介绍通过Java程序在Excel添加筛选器并执行筛选.程序需要使用Excel工具类库Free Spire.XLS for Java,本文中使用的是免费版,可在官网下载jar包,解压导入jar文 ...

  9. GaussDB for DWS:内存自适应控制技术总结

    1.技术背景 在SQL语句复杂.处理数据量大的AP场景下,单个查询对内存的需求越来越大,多个语句的并发很容易将系统的内存吃满,造成内存不足的问题.为了应对这种问题,GaussDB for DWS引入了 ...

  10. 物联网SIM卡和SIM卡真的不是一回事

    办卡吗,兄弟? 物联网卡?相信大家第一反应都是一愣.大家听过银行卡.电话SIM卡.会员卡-等等,很多人可能都是第一次听说物联网卡.那它到底是个什么东东?它能干什么呢?今天就带大家一探究竟. 那在物联网 ...