1

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

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

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

任何建议表示赞赏,谢谢。

4

1 回答 1

3

您绝对应该尝试 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 还可以访问在星号内发布的卷,例如要解析的日志或配置文件。

于 2015-12-18T10:28:46.897 回答