Натолкнулся давеча на такой проект, как раз занимаясь изучением Докера и понял что это самое то что искал:
https://github.com/dougbtv/docker-asterisk
Dockerfile в корневом каталоге - Asterisk 11 и ставится командой
docker pull dougbtv/asterisk
Запускаем с хоста командойtools/asterisk-cli.sh (даст консоль)
В скрипте написано:
NAME_ASTERISK=asterisk NAME_FASTAGI=fastagi # Запускаем контейнер fastagi docker run \ -p 4573:4573 \ --name $NAME_FASTAGI \ -d -t dougbtv/fastagi # Run the main asterisk container. docker run \ --name $NAME_ASTERISK \ --net=host \ -d -t dougbtv/asterisk
Рекомендуют запускать как:
docker run \
--name $NAME_ASTERISK \
--net=host \
-v $(pwd)/test/example/:/etc/asterisk/ \
-d -t dougbtv/asterisk
Памятка по структуре файлов:|-- Dockerfile
|-- extensions.conf
|-- fastagi/
| |-- agiLaunch.sh
| |-- agi.php
| |-- Dockerfile
| `-- xinetd_agi
|-- iax.conf
|-- modules.conf
|-- README.md
`-- tools/
|-- asterisk-cli.sh
|-- clean.sh
`-- run.sh
В корневом каталоге:
Dockerfile
базовый файл для создания образа dockerhubdougbtv/asterisk
extensions.conf
файл диалпланаiax.conf
пример iax.conf, который устанавливает клиента IAX2 (для тестирования, действительно)
fastagi/
:Dockerfile
создает образ Docker, который запускает xinetdxinetd_agi
конфигурация для запуска xinetdagiLaunch.sh
agiLaunch.sh
скрипт оболочки для запуска нашего процесса xinetd (скрипт php)agi.php
пример сценария AGI, замените его вашими основными процессами AGI php
В
tools/
каталоге находятся некоторые утилиты, которые я использую снова и снова:asterisk-cli.sh
запускаетnsenter
команду (примечание: имя изображения должно содержать «звездочку», чтобы его можно было обнаружить, достаточно легко изменить в соответствии с вашими потребностями)clean.sh
убивает все контейнеры и удаляет их.run.sh
предлагаемый способ запуска контейнера Docker.
docker images dougbtv/asterisk13
REPOSITORY TAG IMAGE ID CREATED SIZE
dougbtv/asterisk13 latest e3ec0fab17b9 23 months ago 1.33GB
docker run dougbtv/asterisk13
А потом смотрим и заходим:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4a78c23e487f dougbtv/asterisk13 "/bin/sh -c 'aster..." 53 seconds ago Up 51 seconds xenodochial_kalam
docker exec -it 4a78c23e487f bash
bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory
На этом пока конец!
Комментариев нет:
Отправить комментарий