概述

之前的文章我们介绍过如何将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. Adoquery.Refresh 慎用。。。。非常严重,会带来各种问题。

    adoquery.refresh 各种问题,根本启不到刷新的作用.完全不刷新的节奏. 修改成已经打印后,如果用adoquery.refresh的话,这两个订单 并不会被刷新掉,惨吧......

  2. Shell中调用可执行文件,手动执行可以执行,crontab执行就报错:exec: java: not found

    今天发现一个很奇怪的问题,就是我编写的shell脚本, 手动执行可以正常执行,但是放到crontab中就报错.line 60: exec: java: not  found 百度搜索发现原来是java ...

  3. 【LGR-148-Div.3】洛谷基础赛 #1 & MGOI Round I

    [LGR-148-Div.3]洛谷基础赛 #1 & MGOI Round I T1 luoguP9502 『MGOI』Simple Round I | A. 魔法数字 \(100pts\) 水 ...

  4. NC20811 蓝魔法师

    题目链接 题目 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于等于k,两种方案不同当且仅当存在一 ...

  5. Ubuntu/Centos 管理员权限获取

    OS:Ubuntu 18.04.1 打开Terminal; 输入命令:sudo su; 屏幕上会回显要求输入当前用户密码的提示,输入密码即可获得管理员权限; 若想退出管理员权限可输入命令:su 用户名 ...

  6. logstash4j-用于日志的输入、转换处理、输出, java 开发者自己的 logstash

    项目简介 logstash4j 用于日志的输入.转换处理.输出, java 开发者自己的 logstash 特性 input output filter metric 开源地址 logstash4j ...

  7. CDN缓存的理解

    CDN缓存的理解 CDN即内容分发网络Content Delivery Network,CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时 ...

  8. Laravel入坑指南(4)——数据库(Mysql)

    来来来,新的一节出炉了.这一节大家一起了解,Laravel如何对Mysql进行CURD. 我们回顾一下,PHP操作Mysql无非就是通过五个要素:host(地址).username(用户名).pass ...

  9. Java Base64编码使用介绍

    Base64编码介绍     BASE64 编码是一种常用的字符编码,Base64编码本质上是一种将二进制数据转成文本数据的方案. 但base64不是安全领域下的加密解密算法.能起到安全作用的效果很差 ...

  10. letcode-K个一组翻转链表(栈思想 + 递归)

    题目:输入一个有序链表,每K个一组进行反转. 输入:1, 2, 3, 4, 5, 5, 6, 8, 10 K = 3 输出:3, 2, 1, 5, 5, 4, 10, 8, 6 题解 反转,那么最先想 ...