概述

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. Stream API学习笔记

    Java8 中Stream API介绍   Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象.这种风格将要处理的元素集合看作一种流, ...

  2. 理解 Paimon changelog producer

    介绍 目的 Chaneglog producer 的主要目的是为了在 Paimon 表上产生流读的 changelog, 所以如果只是批读的表是可以不用设置 Chaneglog producer 的. ...

  3. hdu 5685

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5685 解题思路:前缀积+费马小定理求逆元. AC代码: 1 #include<iostream> ...

  4. 2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回-

    2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组. 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回- ...

  5. scrapy 请求meta参数使用案例-豆瓣电影爬取

    num = 0 import scrapy from scrapy.http import HtmlResponse from scrapy_demo.items import DoubanItem ...

  6. pycharm配置git关联Gitee远程仓库

    File-->Settins-->Version Control-->Git,点Test自动识别本地git安装路径 安装Gitee插件,重启pycharm 在Git下关联远程仓库链接 ...

  7. MinIO客户端之share

    MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc share mc share download mc share upload 生成下载对象的URL,指定对 ...

  8. 国产Geoscene Server 4.0编译SOE总结

    背景:公司一直使用Arcgis Server 10.1.Visual Studio 2010开发SOE功能,随着国产化软件发展大趋势,SOE中的各种分析功能,需要升级到Geoscene Server环 ...

  9. CUDA C编程权威指南:1.1-CUDA基础知识点梳理

      主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的. 1.CUDA 解析:2007年,NV ...

  10. BeanDefinition解密:构建和管理Spring Beans的基石

    本文分享自华为云社区<Spring高手之路11--BeanDefinition解密:构建和管理Spring Beans的基石>,作者: 砖业洋__ . BeanDefinition是Spr ...