使用docker-compose管理freeswitch容器

概述
之前的文章我们介绍过如何将freeswitch做成docker镜像,也使用命令行模式正常启动了fs的docker容器。
但是当我们需要同时管理多个docker容器的时候,还是使用docker-compose更简单。
环境
CENTOS 7
docker engine:Version 25.0.3
Docker Compose version v2.24.6
centos docker:7
freeswitch:v1.6.20
docker-compose安装
使用docker-ce的yum源安装。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
ll /usr/libexec/docker/cli-plugins/docker-compose
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
docker-compose version
Docker Compose version v2.24.6
docker-compose.yml
docker-compose使用yaml配置文件来管理docker容器,配置好yaml文件之后就可以很方便的使用了。
cat docker-compose.yml
version: '2'
services:
freeswitch:
image: 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.8.1
container_name: centos.7-fs.1.6.19-1.8.1-as
volumes:
- /usr/local/freeswitch/conf-as:/usr/local/freeswitch/conf
- /usr/local/freeswitch/log:/usr/local/freeswitch/log
- /data/RAS/recordings:/data/RAS/recordings
- /usr/local/freeswitch/sounds:/usr/local/freeswitch/sounds
- /usr/local/freeswitch/webapp:/usr/local/freeswitch/webapp
# command:
restart: unless-stopped
# privileged: true
network_mode: "host"
logging:
driver: "none"
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
cb:
image: 10.55.55.136:5000/zr/centos.7-cb.1.6.19-release:v1.1.3
container_name: centos.7-cb.1.6.19-1.1.3-compose
volumes:
- /usr/local/CB/CB.cfg:/usr/local/CB/CB.cfg
- /usr/local/CB/logs:/usr/local/CB/logs
- /data/RAS/recordings:/data/RAS/recordings
- /usr/local/freeswitch/sounds:/usr/local/freeswitch/sounds
- /usr/local/freeswitch/webapp:/usr/local/freeswitch/webapp
# command:
restart: unless-stopped
# privileged: true
network_mode: "host"
logging:
driver: "none"
depends_on:
- freeswitch
profiles:
- cb
# sudo docker-compose --profile cb up -d
简单介绍一下配置文件。
启动两个docker容器,freeswitch和cb,cb为可选,使用“cb”profile启动。
测试
使用上面的yml文件启动容器。
$ sudo docker-compose --profile cb up -d
[+] Running 2/2
Container centos.7-fs.1.6.19-1.8.1-as Started 0.0s
Container centos.7-cb.1.6.19-1.1.3-compose Started
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
592f8bdfc962 10.55.55.136:5000/zr/centos.7-cb.1.6.19-release:v1.1.3 "/usr/local/CB/CB-do…" 7 days ago Up 49 seconds centos.7-cb.1.6.19-1.1.3-compose
82fdee3f4717 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.8.1 "/bin/sh -c '/usr/lo…" 7 days ago Up 50 seconds centos.7-fs.1.6.19-1.8.1-as
总结
docker-compose简化了多个docker容器的管理难度。
对于docker集群的部署,使用docker-compose很方便。
空空如常
求真得真
使用docker-compose管理freeswitch容器的更多相关文章
- Docker学习笔记之使用 Docker Compose 管理容器
0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能 ...
- Docker | Compose创建mysql容器
本文通过Docker Compose来创建mysql容器 在linux服务器上创建文件,用于管理容器 mkdir docker-mysql cd docker-mysql vim docker-com ...
- Docker Compose—简化复杂容器应用的利器
Compose是用于定义和运行复杂Docker应用的工具.你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成. 1. 安装Docker和Compo ...
- docker compose设置不同容器间通信
docker compose新启动了一个容器,这个时候怎么去连接到其他容器呢,去容器里面ping发现不通.一般来说是因为和其他容器没有在一个网络环境里面.首先用命令查看一下当前存在哪些网络环境. 使用 ...
- [Docker6] Docker compose多容器运行与管理
六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...
- windows 2008 开机启动 Docker Toolbox 并运行容器
新建 docker-startup.bat @echo off REM Set the name of the VM configuration where dockerd will be hoste ...
- Docker Compose 原理
Docker 的优势非常明显,尤其是对于开发者来说,它提供了一种全新的软件发布机制.也就是说使用 docker 镜像作为软件产品的载体,使用 docker 容器提供独立的软件运行上下文环境,使用 do ...
- Docker 三剑客之 Docker Compose
Docker Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排,开源地址:https://github.com/docker/compose Dock ...
- 009.Docker Compose部署及基础使用
一 Docker Compose概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配 ...
- Docker三剑客之Docker Compose
一.什么是Docker Compose Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/comp ...
随机推荐
- P5501 [LnOI2019] 来者不拒,去者不追 题解
题目链接:来者不拒,去者不追 直接在线查询题目所给的式子是很困难的,我们考虑单点考察贡献.对于一个已经确定的式子,我们发现加入一个数或者删除一个数的贡献如图所示: 如图所示,在原有的序列为 \((1, ...
- USACO 2022 Cu 题解
USACO 2022 Cu 题解 AK用时:$ 3 $ 小时 $ 30 $ 分钟. A - Cow College 原题 Farmer John 计划为奶牛们新开办一所大学! 有 $ N $($ 1 ...
- P3089 Pogo-Cow S
[USACO13NOV] Pogo-Cow S 题目传送门 题解 首先,一眼DP,想想怎么推状态转移方程 朴素DP 定义二维数组 \(f[i][j]\),其中第一维表示当前所在的目标点是\(i\),第 ...
- Java 递归的方式将list集合的某一字段拼接单个String
场景介绍 要将list 集合中的某一个字段合并成一个字符串,并且要用符号 "|" 分割开每个拼接后的字段. 一个例子胜于一切的文字表达,拼接后的结果如下 str1|str2|str ...
- springboot+vue+elementui实现文件上传下载删除DEMO
说明 前面搜索了几个关于springboot+vue+elementui上传下载的文章,感觉写的都不尽如人意.要么是功能不完善,不好用.再者就是源码提供的实在差劲,都不完整.一气之下,自己搞了一个实用 ...
- Clock题解
Clock 题意:给一些时间,24小时制,给一个初始出发时间,问在钟表上最少转多少度能把所有给的时间都经历一遍. 思路:分四种情况模拟. 注意: 求的是度数,所以最后要乘6转换. 3:00,转到15: ...
- helloShell
初识SHELL 变量 常规的变量赋值不必多说,shell脚本还可以从命令输出中提取信息,赋值给变量 反引号字符 testing= `date` $( )格式 testing=$(date) #!/bi ...
- 2021-07-30 JavaScript中常用数据的判断
为什么要判断一个变量的常用数据? 实际业务场景里,一个变量的数据是否合法或符合预期,会影响到项目中用到的UI组件库特定组件的运行.比如element-ui中的el-select组件,单选时绑定的数据不 ...
- android:加载PDF几种方法汇总对比
在安卓项目中,加载PDF文件,是一个比较常见的需求.又分为两大类, 1.加载网络PDF 2.加载一个本地静态PDF. 查阅资料,纵观网上在安卓中打开PDF的各种方式,大致可以分为以下几类, 1.直接使 ...
- RK3588开发笔记(二):基于方案商提供sdk搭建引入mpp和sdk的宿主机交叉编译Qt5.12.10环境
前言 上一篇项目已经构建好了Qt,板子接入mipi屏幕也跑起来了,Qt也能正常运行了,现在需要接入定制开发的sdk,sdk中使用了硬解码等资源涉及到bsp的mpp,所以下一步就是引入mpp和sdk ...