运行星号和它的MySQL数据库在不同的docker容器

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

所以基于此,我想在一个容器中运行Asterisk PBX服务器,在其他容器中运行mysql数据库,并在第三个容器中运行Asterisk的FreePBX GUI。

在自己的容器中运行这些服务中的每一个都不是问题,但是如何将这三个连接在一起,因为我需要使用CDRvariableslogging调用的mysql db,并且应该安装FreePBX以提供GUI体验Asteriskconfiguration。

任何意见表示赞赏,谢谢。

你一定要试试docker作曲。 这个工具将帮助您以简单的方式将一个容器展示给其他人。

你用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 

这将创build3个容器,第一个为DB,第二个为星号本身,第三个为freepbx。 星号和freepbx图像将能够连接到数据库主机。 此外,freepbx将有权访问在星号内发布的卷,例如日志parsing或configuration文件。