如果我正确理解了docker的用途和目的,那么每个进程都应该在它自己的容器内,因此不会干扰其他正在运行的进程。
基于此,我想在一个容器中运行Asterisk PBX服务器,在其他容器中运行mysql数据库,在第三个容器中运行Asterisk的FreePBX GUI。
在它自己的容器中运行每个服务都不是问题,但是之后如何将这三个连接在一起,因为我需要mysql db来使用CDR变量来记录调用,并且应该安装FreePBX以提供GUI体验用于Asterisk配置。
感谢任何建议, 感谢。
答案 0 :(得分:2)
你一定要试试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,第二个用于星号本身,第三个用于freepbx。 Asterisk和freepbx映像将能够连接到数据库主机。此外,freepbx还可以访问卷,这些卷在星号内发布,例如,日志解析或配置文件。