freeswitch on centos dockerfile模式

这篇具有很好参考价值的文章主要介绍了freeswitch on centos dockerfile模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

freeswitch on centos dockerfile模式,技术-VOIP,centos,linux,voip,docker

概述

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

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

环境

docker engine:Version 24.0.6

centos docker:7

freeswitch:v1.6.20

dockerfile

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

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

mkdir centos.7-fs.1.6.20

cd centos.7-fs.1.6.20

ls

dockerfile  freeswitch-1.6.20

dockerfile文件内容如下。

vi dockerfile

FROM centos:7

WORKDIR      /root

ADD ./freeswitch-1.6.20 /root/freeswitch

RUN cd /root/ \

    && yum -y update \

    && echo "signalwireusername" > /etc/yum/vars/signalwireusername \

    && echo "pat_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 autoconf automake libtool gcc-c++ ncurses-devel make zlib-devel libjpeg-devel yasm  nasm  libevent  libevent-devel \

    && yum install -y openssl-devel e2fsprogs-devel curl-devel pcre-devel speex-devel sqlite-devel mysql-devel \

    && yum install -y git ldns-devel libedit-devel lua-devel libsndfile-devel libshout-devel lame-devel \

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

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

    && cd /root/freeswitch/ \

    && chmod 775 -R * \

    && sh support-d/prereq.sh \

    && ./bootstrap.sh -j \

    && ./configure \

    && 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 \

    && 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 -t 10.55.55.136:5000/zr/centos.7-fs.1.6.20-test:v1.0 .

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

 => [internal] load .dockerignore                                                                                                                                                                                          0.2s

 => => transferring context: 2B                                                                                                                                                                                            0.0s

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

 => => transferring dockerfile: 2.03kB                                                                                                                                                                                     0.0s

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

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

 => [internal] load build context                                                                                                                                                                                          2.3s

 => => transferring context: 190.73MB                                                                                                                                                                                      2.0s

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

 => [3/4] ADD ./freeswitch-1.6.20 /root/freeswitch                                                                                                                                                                         1.7s

 => [4/4] RUN cd /root/     && yum -y update     && echo "signalwireusername" > /etc/yum/vars/signalwireusername     && echo "pat_signalwiretoken" > /etc/yum/vars/signalwiretoken     && yum install -y https://$(<   757.8s

 => exporting to image                                                                                                                                                                                                     5.5s

 => => exporting layers                                                                                                                                                                                                    5.5s

 => => writing image sha256:a0a8c5564ad901bc931d9610169b3388f60e07d2201f846d9c35a8603b880e69                                                                                                                               0.0s

 => => naming to 10.55.55.136:5000/zr/centos.7-fs.1.6.20-test:v1.0                                                                                                                                                         0.0s

上传镜像到registry。

sudo docker images

sudo docker push 10.55.55.136:5000/zr/centos.7-fs.1.6.20-test:v1.0

下载镜像。

sudo docker pull 10.55.55.136:5000/zr/centos.7-fs.1.6.20-test:v1.0

查看私服registry的镜像版本。

curl -XGET http://10.55.55.136:5000/v2/_catalog

{"repositories":["test/debian","test/registry","zr/centos.7-fs.1.6.19-compile","zr/centos.7-fs.1.6.19-release"]}

curl -XGET http://10.55.55.136:5000/v2/zr/centos.7-fs.1.6.19-release/tags/list

{"name":"zr/centos.7-fs.1.6.19-release","tags":["v1.1","v1.2","v1.3","v1.4","v1.5","v1.6"]}

问题处理

DOCKER使用过程问题汇总。

1 docker容器的时区设置问题,在容器中执行如下命令。

yum install tzdata

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

2 运行一个无日志的Docker容器。

docker run -d --log-driver none your_image_name

3 docker容器访问宿主机上nas目录的状态,取决于docker服务启动时宿主机挂载nas目录的状态。

所以,nas挂载目录有变化的时候,需要重启docker服务,以便docker容器可以正常访问nas目录。

4 docker容器自动重启。

docker run -d --restart=always your_image_name

总结

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

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

空空如常

求真得真文章来源地址https://www.toymoban.com/news/detail-807801.html

到了这里,关于freeswitch on centos dockerfile模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第一部分-基础篇-第一章:PSTN与VOIP(下篇)

      学习资料来源《FreeSWITCH权威指南》-作者杜金房这本书。我是2022年6月毕业的,偶然的机会接触到FreeSWITCH,但是目前在南京从事java后端开发,FreeSWITCH纯属个人爱好,进行笔记整理。也一直希望有机会可以参与FreeSWITCH相关工作开发,如有需要,请联系我18956043585,先说声谢

    2024年02月06日
    浏览(53)
  • IP网络电话与voip网络电话两者之间有什么差异

    概括来说,网络电话是指以IP为网络层协议的计算机网络中进行话音通讯的系统,它采用的技术统称为VoIP(Voiceover IP),即借助网络实现语音的传送。而从技术上来说,IP网络电话则是以IP为标志的网络分组化和以多媒体为目标的网络业务综合化两大主流技术融合的结果。 随着网

    2024年02月06日
    浏览(46)
  • Ubuntu下载kamailio源码并配置实现VoIP服务器(一条龙服务,从无到有的搭建)

    1、安装Kamailio依赖包 打开终端,并运行以下命令以安装 Kamailio 的依赖软件包: sudo apt update sudo apt install bison flex libssl-dev libxml2-dev libcurl4-openssl-dev libpcre3-dev libjson-c-dev libyaml-dev libsystemd-dev pkg-config 2、下载github并从github下载源码 1 )下载 github sudo apt update sudo apt install git 2 )下

    2024年02月04日
    浏览(50)
  • centos 7.9编译和安装freeswitch-1.10.9

            freswitch在centos7下编译总体上还是步骤比较复杂的。         千万别使用 CentOS 部署 FreeSWITCH !!!         以下大部分都是笔者用 CentOS7 自编译踩得坑。         建议直接 Debian 安装官方编译好的包!!!可以少踩很多坑(严重怀疑官方歧视 CentOS)。

    2024年02月15日
    浏览(61)
  • 设置Linux CentOS7桥接模式连网

    在虚拟机上安装centos7系统后,首要任务就是设置网络。 我们在文章《设置linux centos7连接网络》中讨论了如何设置NAT模式连网。本文讨论如何在设置好NAT模式后,调换为桥接模式。 仍采用图形化方式设置。 把虚拟机设置为桥接模式,就是设置物理机与虚拟机处于同一网段,

    2024年02月09日
    浏览(44)
  • 如何进入Linux救援模式以修复无法启动的CentOS

    当CentOS无法启动时,进入救援模式是一种常见的解决方法。救援模式提供了一个最小化的环境,允许用户执行系统维护任务,诊断问题并修复系统。以下是详细说明如何进入CentOS的救援模式。 重启计算机并选择CentOS启动选项。 在系统启动过程中,您将看到一个引导菜单。使

    2024年02月04日
    浏览(53)
  • Linux——Centos7进入单用户模式修改密码

            本篇文章适用于经常忘记自己root用户密码的初学者!!!,会进入单用户模式修改root密码即可。 系统启动进入到如下界面后输入字母“e”;         2.可以看到进入到如下界面;         3.一直下翻到图中圈起来的这部分;         4.在Linux16这一段的最后

    2024年02月05日
    浏览(58)
  • Linux-centos7救援模式重置root密码

    (1)进入救援模式 开机选择第一个系统内核,键入e  (2)修改配置文件   在linux16这行末尾添加:rw init=/bin/sh (3)键入ctrl+x键 启动,进入命令行 (4)输入passwd root,开始更改root密码 键入新密码两遍,确认更改,如果密码有安全策略,例必须8位,按照密码策略设置即可

    2024年02月03日
    浏览(41)
  • 【Linux】安装配置解决Centos&MobaXterm的使用及Linux常用命令&命令模式

    目录 一、介绍 1. 背景 2. 讲述功能 二、Centos安装配置MobaXterm 1. 创建 2. 安装 3. 配置 4. MobaXterm使用  三、Linux常用命令模式 1. 常用命令 2. 三种模式 3. 命令使用换源 4. 拍照备份  CentOS的背景可以追溯到2004年,当时Red Hat公司决定将其企业级操作系统Red Hat Enterprise Linux(RHEL)的

    2024年02月08日
    浏览(50)
  • 【Linux】安装配置解决Centos&MobaXterm的使用及Linux常用命令以及命令模式

    目录 Centos的介绍 centos安装配置MobaXterm 创建  安装  ​编辑  配置 ​编辑  MobaXterm使用  Linux常用命令模式   常用命令 vi或vim编辑器  三种模式  命令模式 编辑模式   末行模式 拍照备份  CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux (RHEL) 源代码编

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包