在不同的docker容器

时间:2015-06-15 07:21:52

标签: mysql docker asterisk freepbx

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

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

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

感谢任何建议, 感谢。

1 个答案:

答案 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还可以访问卷,这些卷在星号内发布,例如,日志解析或配置文件。