如果我正确理解了 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/