Asterisk on Dockerのソースを表示
←
Asterisk on Docker
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます: メール確認された利用者、
管理者
。
このページのソースの閲覧やコピーができます。
[[Asterisk 22]]をDockerで動かそう! Dockerとは、コンテナ仮想化のためのプラットフォームです。 Asteriskには公式のDockerイメージがないようです。 インターネットを探すと、有志が構築したイメージやDockerfileがありますが、古かったり、マルチステージビルドでなく最終イメージのサイズが大きかったりして、良さそうなものがなかったので、独自のDockerfileを作成しました。 Linuxで、x86_64のマシンで試しています。[[Opusコーデック]]がARM非対応のため、ARMは試しておりません。 ==Dockerfile== このDockerfileは、[[Opusコーデック]]を使用しています。 <nowiki>FROM debian:bookworm-slim AS base RUN echo "APT::Install-Recommends 0;" >> /etc/apt/apt.conf.d/01norecommends \ && echo "APT::Install-Suggests 0;" >> /etc/apt/apt.conf.d/01norecommends \ && apt-get update -qq \ && apt -y install readline-common uuid libxml2 libsqlite3-0 libssl3 net-tools dnsutils ca-certificates curl xmlstarlet \ && apt-get autoremove -y \ && apt-get clean \ && rm -rf /var/lib/apt/lists /var/cache/apt/archives FROM base AS build ARG asterisk_version=22.5.1 ENV TZ Asia/Tokyo WORKDIR /build RUN apt-get update \ && apt -y install build-essential libedit-dev uuid-dev pkg-config libxml2-dev libsqlite3-dev sqlite3 libssl-dev net-tools dnsutils \ \ && curl http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-${asterisk_version}.tar.gz | tar xfz - \ && cd /build/asterisk-${asterisk_version} \ && ./configure --with-jansson-bundled \ && make menuselect.makeopts \ && menuselect/menuselect --enable codec_opus --enable CORE-SOUNDS-EN-WAV --disable CORE-SOUNDS-EN-GSM menuselect.makeopts \ && make -j$(nproc) \ && make install \ && apt-get autoremove -y \ && apt-get clean \ && rm -rf /var/lib/apt/lists /var/cache/apt/archives \ && cd / && tar cfz libasterisk.tar.gz usr/lib/libasteriskpj.* usr/lib/libasteriskssl.* FROM base RUN mkdir /usr/lib/asterisk COPY --from=build /usr/lib/asterisk/modules /usr/lib/asterisk/modules COPY --from=build /usr/sbin/astcanary /usr/sbin/astdb2bdb /usr/sbin/astdb2sqlite3 /usr/sbin/asterisk /usr/sbin/astversion /usr/sbin/astgenkey /usr/sbin/autosupport /usr/sbin/ COPY --from=build /usr/sbin/rasterisk /usr/sbin/safe_asterisk /usr/sbin/ COPY --from=build /var/lib/asterisk /var/lib/asterisk COPY --from=build /libasterisk.tar.gz /libasterisk.tar.gz RUN tar xf /libasterisk.tar.gz \ && cd /var/lib/asterisk/sounds \ && curl -o core-sound-ja.tgz -L https://github.com/takao-t/asterisk-sound-ja/raw/refs/heads/master/core-sound-ja.tgz \ && tar xf core-sound-ja.tgz \ && rm -f core-sound-ja.tgz ENTRYPOINT ["/usr/sbin/asterisk", "-f", "-C", "/etc/asterisk/asterisk.conf"]</nowiki> ==イメージをビルドする== docker build --build-arg asterisk_version=22.5.1 -t asterisk:22.5.1 . このイメージはビルドすると409MB程度となります。 ==イメージを起動する== 設定ファイルは別途用意してください。 通常、Dockerでイメージを起動する場合、ネットワークはbridgeネットワークを用い、-pオプションでポートを指定しますが、Asteriskでbridgeネットワークを使用すると、UDPポートでの通信がうまく行かなかったため、--network hostを使い、直接Dockerホストのポートで待ち受けをさせます。 例えば、設定ファイルは'''./asterisk-conf'''、ログファイルは'''./asterisk-log'''に配置する場合、 docker run -d --name asterisk --rm --network host -v $(pwd)/asterisk-conf:/etc/asterisk:ro -v $(pwd)/asterisk-log:/var/log/asterisk:rw asterisk:22.5.1 特に問題なく動けばOKです。 ==Asterisk CLIに入る== docker exec -it asterisk asterisk -vvvvcr
Asterisk on Docker
に戻る。
ナビゲーション メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 20
Asterisk 22
IP電話機
購入情報
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報