четверг, 1 августа 2019 г.

Интересная связка Asterisk + Docker


          Натолкнулся давеча на такой проект, как раз занимаясь изучением Докера и понял что это самое то что искал:

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базовый файл для создания образа dockerhub dougbtv/asterisk
  • extensions.conf файл диалплана
  • iax.conf пример iax.conf, который устанавливает клиента IAX2 (для тестирования, действительно)
fastagi/:
  • Dockerfile создает образ Docker, который запускает xinetd
  • xinetd_agi конфигурация для запуска xinetd agiLaunch.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




На этом пока конец!

Комментариев нет:

Отправить комментарий

Debian 12 sources.list редактирование и уход от cdrom

     Если после установки постоянно просит диск и ничего с этим не сделать, то идем в сорс-листы и комментим вот такую строчку  cat /etc/apt...