使用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 ...
随机推荐
- 在K8S中,集群可以做哪些优化?
在Kubernetes(简称K8s)集群中,可以进行多种优化以提升性能.稳定性和资源利用率.以下是一些常见的优化措施: 控制面组件优化: kube-apiserver 高可用与扩展:通过配置多个API ...
- 【SpringBootStarter】自定义全局加解密组件
[SpringBootStarter] 目的 了解SpringBoot Starter相关概念以及开发流程 实现自定义SpringBoot Starter(全局加解密) 了解测试流程 优化 最终引用的 ...
- UUID算法:独一无二的标识符解决方案
引言 在分布式系统和大数据环境下,唯一标识符的生成和管理是一项关键任务.UUID(Universally Unique Identifier)算法应运而生,成为了解决重复数据和标识符冲突的有效工具.本 ...
- CF1903
A 若 \(k>1\),冒泡排序:否则判断是否已经有序. B 初始令 \(a_i=2^{30}-1\),然后对于每个限制,让 \(a_i\leftarrow a_i\&M_{i,j},\ ...
- NC26253 小石的妹子
题目链接 题目 题目描述 小石有 n 个妹子,每个妹子都有一个细心程度 \(a_i\)和一个热心程度 \(b_i\) , 小石想给她们一个重要程度 \(t_i\)(重要程度为 1 表示最重要,重要程 ...
- 轻松玩转makefile|基础知识
1.什么是Makefile 在嵌入式软件开发领域,使用 make 工具构建开发环境是非常常见的.而要使用 make 工具,就需要编写 Makefile 文件来定义一系列规则,指定需要先编译.后编译 ...
- 【Unity3D】边缘检测特效
1 边缘检测原理 边缘检测的原理是:检测每个像素周围的像素亮度差,如果亮度差异较大,就将该像素识别为边缘,并进行边缘着色. 本文完整资源见→Unity3D边缘检测特效. 使用过卷积神经网络 ...
- Swoole从入门到入土(13)——HTTP服务器[配置]
开篇之前,先复习一下如何为一个server进行配置的设置: $server->set(array( 'key' => 'value' )); 配置说明: upload_tmp_dir:设置 ...
- java.lang.System快速指南
1.介绍 在本教程中,我们将快速了解java.lang.System类及其特性和核心功能. 2.IO 系统类是java.lang的一部分,它的一个主要特性是让我们能够访问标准的I/O流. 简单地说,它 ...
- TerminateJobObject是使用
注意: AssignProcessToJobObject仅适用于win32 desktop app, 比如notepad是适用的,calculator是不适用的 下面的demo是将notepad的句柄 ...