当前位置: 首页 > news >正文

freeswitch on centos dockerfile模式

概述

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的方向需要验证和抉择一下。

空空如常

求真得真

相关文章:

freeswitch on centos dockerfile模式

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 centos7 docker上编译安装fs的流程记录&#xff0c;本文使用dockerfile模式。 环境 docker engine&#xff1a;Version 24.0.6 centos docker&#xff1a;7 freeswitch&#xff1a;v1.6.20 dockerfile 创建空目录…...

Hologres + Flink 流式湖仓建设

Hologres + Flink 流式湖仓建设 1 Flink + Hologres 特性1.2 实时维表 Lookup1.3 高性能实时写入与更新1.4 多流合并1.5 Hologres 作为 Flink 的数据源1.6 元数据自动发现与更新2 传统实时数仓分层方案2.1传统实时数仓分层方案 1:流式 ETL2.2 传统实时数仓分层方案 2:定时调度…...

Linux粘滞位的理解,什么是粘滞位?

文章目录 前言如何理解&#xff1f;粘滞位的操作最后总结一下 前言 粘滞位&#xff08;Stickybit&#xff09;&#xff0c;或粘着位&#xff0c;是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位&#xff0c;如此以来&#xff0c;只有目录内文件的所有者或者root…...

Stable Diffusion的结构要被淘汰了吗?详细解读谷歌最新大杀器VideoPoet

Diffusion Models视频生成-博客汇总 前言:视频生成领域长期被Stable Diffusion统治,大部分的方式都是在预训练的图片Stable Diffusion的基础上加入时间层,学习动态信息。虽然有CoDi《【NeurIPS 2023】多模态联合视频生成大模型CoDi》等模型尝试过突破这一结构的局限,但是都…...

深度学习与大数据推动下的自然语言处理革命

引言&#xff1a; 在当今数字化时代&#xff0c;深度学习和大数据技术的迅猛发展为自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;领域注入了新的活力。这些技术的进步不仅推动了计算机对人类语言理解与生成的能力&#xff0c;也在搜索引擎、语音助手、…...

产品经理必备之最强管理项目过程工具----禅道

目录 一.禅道的下载安装 二.禅道的使用 2.1 创建用户 2.2 产品经理的角色 2.3 项目经理的角色 研发的角色 2.4 测试主管的角色 研发角色 三.禅道使用的泳道图 一.禅道的下载安装 官网&#xff1a;项目管理软件 开源项目管理软件 免费项目管理软件 IPD管理软件 - 禅…...

美易官方:贝莱德预计美联储将在6月份开始降息,欧洲央行紧随其后

正文&#xff1a; 根据贝莱德的最新预测&#xff0c;美联储将在6月份开始降息&#xff0c;这一消息早于欧洲央行的预期。贝莱德高级投资策略师Laura Cooper表示&#xff1a;“我们更倾向于6月份降息、然后重新校准政策。”预计美联储在年底前将会降息75至100个基点。 与此同时…...

视觉检测系统:工厂生产零部件的智能检测

在工厂的生产加工过程中&#xff0c;工业视觉检测系统被广泛应用&#xff0c;并且起着重要的作用。它能够对不同的零部件进行多功能的视觉检测&#xff0c;包括尺寸和外观的缺陷。随着制造业市场竞争越来越激烈&#xff0c;对产品质检效率的要求不断提高&#xff0c;传统的人工…...

Spring事务的四大特性+事务的传播机制+隔离机制

Spring事务的四大特性 ① 原子性 atomicity 原子性是指事务是一个不可分割的工作单位&#xff0c;事务中的操作要么都发生&#xff0c;要么都不发生。 事务是一个原子操作, 由一系列动作组成。 组成一个事务的多个数据库操作是一个不可分割的原子单元&#xff0c;只有所有的…...

基于arcgis js api 4.x开发点聚合效果

一、代码 <html> <head><meta charset"utf-8" /><meta name"viewport"content"initial-scale1,maximum-scale1,user-scalableno" /><title>Build a custom layer view using deck.gl | Sample | ArcGIS API fo…...

什么是DDOS高防ip?DDOS高防ip是怎么防护攻击的

随着互联网的快速发展&#xff0c;网络安全问题日益突出&#xff0c;DDoS攻击和CC攻击等网络威胁对企业和网站的正常运营造成了巨大的威胁。为了解决这些问题&#xff0c;高防IP作为一种网络安全服务应运而生。高防IP通过实时监测和分析流量&#xff0c;识别和拦截恶意流量&…...

提示词工程: 大语言模型的Embedding(嵌入和Fine-tuning(微调)

本文是针对这篇文章&#xff08;https://www.promptengineering.org/master-prompt-engineering-llm-embedding-and-fine-tuning/&#xff09;的中文翻译&#xff0c;用以详细介绍Embedding&#xff08;语义嵌入&#xff09;和Fine Tuning&#xff08;微调&#xff09;的概念和…...

rust获取本地外网ip地址的方法

大家好&#xff0c;我是get_local_info作者带剑书生&#xff0c;这里用一篇文章讲解get_local_info的使用。 get_local_info是什么&#xff1f; get_local_info是一个获取linux系统信息的rust三方库&#xff0c;并提供一些常用功能&#xff0c;目前版本0.2.4。详细介绍地址&a…...

三、Sharding-JDBC系列03:自定义分片算法

目录 一、概述 1.1、分片算法 精确分片算法 范围分片算法 复合分片算法 Hint分片算法 1.2、分片策略 标准分片策略 复合分片策略 行表达式分片策略 Hint分片策略 不分片策略 二、自定义分片算法 - 复合分片算法 (1)、创建数据库和表 (2)、自定义分库算法 (3)、…...

像操作本地文件一样操作linux文件 centos7环境下samba共享服务搭建详细教程

1.安装dnf yum -y install dnf 2.安装samba dnf install samba -y 3.配置 3.1创建并设置用户信息 #创建用户 useradd -M -s /sbin/nologin samba echo 123|passwd --stdin samba mkdir /home/samba chown -R samba:samba /home/samba smbpasswd -a samba smaba设置密码示…...

web块级如何居中,关于css/html居中问题

1. text-align&#xff1a;center&#xff1b; 可以实现其内部元素水平居中&#xff0c;通常用于字体水平居中&#xff0c;初学者也可以用于简单块级居中。这种方法对行内元素 (inline)&#xff0c;行内块 (inline-block)&#xff0c;行内表 (inline-table)&#xff0c;inline…...

docker 部署 springboot 2.6.13 jar包流程笔记

1 . 将dockerfile复制到与jar包同一目录 Dockerfile # 基础镜像 FROM openjdk:8 # 环境变量 ENV APP_HOME/apps # 创建容器默认进入的目录 WORKDIR $APP_HOME # 复制jar包到容器中 COPY ./elastic-log-service.jar ./elastic-log-service.jar # 暴露端口 EXPOSE 8003 # 启动命…...

rust跟我学二:模块编写与使用

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info中模块的使用。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[我的Rust库更新]g…...

数据结构——Java实现栈和队列

一、栈 Stack 1.特点 &#xff08;1&#xff09;栈是一种线性数据结构 &#xff08;2&#xff09;规定只能从栈顶添加元素&#xff0c;从栈顶取出元素 &#xff08;3&#xff09;是一种先进后出的数据结构&#xff08;Last First Out&#xff09;LIFO 2.具体实现 Java中可…...

【状态压缩】【动态规划】【C++算法】691贴纸拼词

作者推荐 【动态规划】【数学】【C算法】18赛车 本文涉及知识点 状态压缩 动态规划 LeetCode:691 贴纸拼词 我们有 n 种不同的贴纸。每个贴纸上都有一个小写的英文单词。 您想要拼写出给定的字符串 target &#xff0c;方法是从收集的贴纸中切割单个字母并重新排列它们。如…...

STM32F4/F7上跑AI手写识别:从CUBEMX配置到串口通信的完整避坑指南

STM32F4/F7实战AI手写识别&#xff1a;从模型部署到数据处理的工程化解决方案 在嵌入式设备上部署神经网络进行手写识别&#xff0c;正逐渐从实验室走向工业现场。STM32F4/F7系列凭借其平衡的性能与功耗&#xff0c;成为边缘AI应用的理想选择。本文将深入探讨从模型准备到实际部…...

B站缓存视频转换神器:3分钟让m4s文件重获新生的终极指南

B站缓存视频转换神器&#xff1a;3分钟让m4s文件重获新生的终极指南 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经为B站缓存视频无法…...

Obsidian i18n终极指南:3步实现插件界面中文化,告别英文困扰

Obsidian i18n终极指南&#xff1a;3步实现插件界面中文化&#xff0c;告别英文困扰 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 你是否曾经因为Obsidian插件全是英文界面而感到困惑&#xff1f;每次打开设置页面&…...

RAG vs LoRA:AI产品选型困境终结者!产品经理必看的技术选型指南

本文深入剖析了AI产品开发中RAG与LoRA技术的选型困境&#xff0c;指出两者并非竞争关系&#xff0c;而是基于不同场景的产品判断失误。文章从概念解析入手&#xff0c;通过生动类比区分了RAG&#xff08;知识库增强&#xff09;与LoRA&#xff08;模型微调&#xff09;的核心差…...

别再瞎猜了!LaTeX排版时em、ex、pt、px到底该用哪个?一篇讲透所有单位

LaTeX排版单位全指南&#xff1a;从em到px的精准选择策略 在学术写作和科技文档排版领域&#xff0c;LaTeX以其专业精美的输出质量著称。然而&#xff0c;对于初学者而言&#xff0c;面对em、ex、pt、px等多种长度单位时&#xff0c;常常陷入选择困难——图片宽度该用pt还是cm&…...

网盘直链下载助手:一键获取9大网盘真实下载地址,告别限速烦恼

网盘直链下载助手&#xff1a;一键获取9大网盘真实下载地址&#xff0c;告别限速烦恼 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中…...

Perplexity营养分析准确率跃升至92.4%(临床营养师实测验证版)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity营养饮食查询 Perplexity 是一款基于大语言模型的实时问答引擎&#xff0c;其核心优势在于可直接引用权威来源&#xff08;如 USDA FoodData Central、WHO 营养指南、PubMed 文献等&#xff09;进…...

从单摆到机械臂:拉格朗日方程如何统一描述‘运动与力’?一个思维模型讲透

从单摆到机械臂&#xff1a;拉格朗日方程如何统一描述‘运动与力’&#xff1f;一个思维模型讲透 想象你手中握着一根细绳&#xff0c;末端悬挂着一个小球。轻轻推动它&#xff0c;小球便开始左右摆动——这就是经典的单摆系统。看似简单的运动背后&#xff0c;却隐藏着自然界最…...

月度补丁如何落地?Claude Code 在商业项目中实现版本追新的 4 步更新机制

1. 月度补丁不是“一键升级”,而是四次有节奏的上下文重校准 大多数人把 Claude Code 的月度补丁理解成“换了个模型版本号”——就像给手机系统点一下“更新”。我去年在三个中型商业项目里连续踩了这个坑:每次新补丁发布后,团队反馈“AI 写的代码变奇怪了”,review 通过…...

vue-pdf踩坑实录:从‘Cannot read properties of undefined’到完美预览的避坑指南

Vue-PDF实战避坑指南&#xff1a;从版本冲突到性能优化的全链路解决方案 1. 当控制台抛出"undefined catch"错误时 那个令人窒息的红色报错框突然出现在控制台——"Cannot read properties of undefined (reading catch)"。作为经历过三次类似场景的老手&a…...