mysql - 在不同的 docker 容器中运行 Asterisk 和它的 mysql 数据库

标签 mysql docker asterisk freepbx

如果我正确理解了 docker 的用途和目的,每个进程都应该在它自己的容器中,从而不会干扰其他正在运行的进程。

基于此,我想在一个容器中运行一个 Asterisk PBX 服务器,在另一个容器中运行 mysql 数据库,在第三个容器中我想为 Asterisk 运行 FreePBX GUI。

在它自己的容器中运行这些服务中的每一个都不是问题,但是我之后如何将这三个连接在一起,因为我需要 mysql 数据库来使用 CDR 变量记录调用,并且应该安装 FreePBX 以提供 GUI 体验用于 Asterisk 配置。

感谢任何建议, 谢谢。

最佳答案

你绝对应该尝试一下 docker-compose。此工具将帮助您以简单的方式将一个容器暴露给其他容器。

您的 docker-compose.yml 示例可能如下所示:

db:
   image: mysql:5
   environment:
     - MYSQL_PASSWORD=pass
     - MYSQL_USER=asterisk
     - MYSQL_DATABASE=freepbx

asterisk:
  image: asterisk
  links:
    - db

freepbx:
   image: php5-apache
   links:
     - db
   volumes-from:
     - asterisk

这将创建 3 个容器,第一个用于 DB,第二个用于 asterisk 本身,第三个用于 freepbx。 Asterisk 和 freepbx 图像将能够连接到数据库主机。此外,freepbx 将有权访问在 asterisk 内发布的卷,例如,要解析的日志或配置文件。

关于mysql - 在不同的 docker 容器中运行 Asterisk 和它的 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30839422/

相关文章:

docker - 将我的自定义Docker容器链接到另一个自定义容器

c# - 在 C# 中使用 AsterNET 发起 VoIP 调用

php - Android MySQL 服务器请求类中 Asynctask 的问题

php - 如何检测请求来自哪里?

python - 使用 Airflow DockerOperator 时出现无效参数错误

Docker 运行与拉取

voip - tx 和 rx 之间的区别?

sip - Asterisk 如何创建外拨电话

php - Dreamweaver CS6 中的 INNER JOIN 查询仅选择第一条记录

php - 在数据库中使用@符号