概述

之前的文章我们介绍过如何将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容器的更多相关文章

  1. Docker学习笔记之使用 Docker Compose 管理容器

    0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能 ...

  2. Docker | Compose创建mysql容器

    本文通过Docker Compose来创建mysql容器 在linux服务器上创建文件,用于管理容器 mkdir docker-mysql cd docker-mysql vim docker-com ...

  3. Docker Compose—简化复杂容器应用的利器

    Compose是用于定义和运行复杂Docker应用的工具.你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成. 1. 安装Docker和Compo ...

  4. docker compose设置不同容器间通信

    docker compose新启动了一个容器,这个时候怎么去连接到其他容器呢,去容器里面ping发现不通.一般来说是因为和其他容器没有在一个网络环境里面.首先用命令查看一下当前存在哪些网络环境. 使用 ...

  5. [Docker6] Docker compose多容器运行与管理

    六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...

  6. windows 2008 开机启动 Docker Toolbox 并运行容器

    新建 docker-startup.bat @echo off REM Set the name of the VM configuration where dockerd will be hoste ...

  7. Docker Compose 原理

    Docker 的优势非常明显,尤其是对于开发者来说,它提供了一种全新的软件发布机制.也就是说使用 docker 镜像作为软件产品的载体,使用 docker 容器提供独立的软件运行上下文环境,使用 do ...

  8. Docker 三剑客之 Docker Compose

    Docker Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排,开源地址:https://github.com/docker/compose Dock ...

  9. 009.Docker Compose部署及基础使用

    一 Docker Compose概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配 ...

  10. Docker三剑客之Docker Compose

    一.什么是Docker Compose Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/comp ...

随机推荐

  1. 【可观测性系列】 Opentelemetry 介绍

    作者简介:大家好,我是蓝胖子 ️博客首页:博客园主页蓝胖子的编程梦 每日一句:人生的烦恼,多在于明白的太多,而做的太少 大家好,我是蓝胖子,随着微服务的流行,服务的可观测性概念被越来越多人提及到,究竟 ...

  2. [JVM] CPU缓存一致性协议

    CPU缓存一致性协议 CPU高速缓存 CPU缓存是位于cpu和内存之间的临时数据交换器,它的容量比内存小的夺但是交换速度要比内存快得多,主要是为了解决cpu运行时的处理速度与内存读写速度不匹配的问题. ...

  3. CentOS7 卸载/home 扩大/root空间

    卸载home 备份home分区文件 # 新系统无视 tar cvf /tmp/home.tar /home 修改fstab(这一步非常重要,千万别漏了) 准备卸载/home文件系统,centos启动时 ...

  4. 【LGR-153-Div.2】梦熊联盟 8 月月赛 Ⅳ & Cfz Round 1 & 飞熊杯 #1

    [LGR-153-Div.2]梦熊联盟 8 月月赛 Ⅳ & Cfz Round 1 & 飞熊杯 #1 \(T1\) luogu P9577 「Cfz Round 1」Dead Cell ...

  5. JS leetcode 有多少小于当前数字的数字 解题分析,你应该了解的桶排序

    壹 ❀ 引 刷题其实一直没断,只是这两天懒得整理题目...那么今天来记录一道前天做的题,题目本身不难,不过拓展起来还是有些东西可以讲,题目来自leetcode有多少小于当前数字的数字,题目描述如下: ...

  6. 从零开始的微信小程序入门教程(三),有趣且好玩的数据绑定

    壹 ❀ 引 我在从零开始的微信小程序入门教程(二),初识WXML与WXSS一文中简单介绍了小程序组件与小程序样式相关概念,在了解这两者之后,其实我们已经可以搭建出简单的静态页面,与书写HTML页面一样 ...

  7. Codeforces Round #821 (Div. 2) A-E

    比赛链接 A 题解 知识点:贪心. 下标模 \(k\) 相同分为一组,共有 \(k\) 组,组间不能互换,组内任意互换. 题目要求连续 \(k\) 个数字,一定能包括所有的 \(k\) 组,现在只要在 ...

  8. NC16496 [NOIP2014]飞扬的小鸟

    题目链接 题目 题目描述 为了简化问题,我们对游戏规则进行了简化和改编: \1. 游戏界面是一个长为n,高 为m的二维平面,其中有k个管道(忽略管道的宽度). \2. 小鸟始终在游戏界面内移动.小鸟从 ...

  9. Python Split 函数用法

    一.split函数简介Python中split()函数,具体作用如下: 拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list):二.语法split() 方法语法: str.s ...

  10. Delphi 实现刘谦春晚魔术

    看了博友的C# 实现刘谦春晚魔术很好,改成了delphi版的. 1 program Project1; 2 3 {$APPTYPE CONSOLE} 4 {$R *.res} 5 6 uses 7 S ...