Docker làm cho việc cài đặt hệ thống trở nên dễ dàng và nhanh chóng. Vậy docker giúp được gì cho hệ thống VoIP. Bài viết này sẽ hướng dẫn các bạn có thể chạy Asterisk trên docker.
Docker là một dự án mã nguồn mở giúp các Developer và System Admin dễ dàng hơn trong việc tạo, triển khai và chạy ứng dụng trên nhiều nơi khác nhau như trên Windows, laptop, VPS, bằng cách sử dụng các container. Các hãng công nghệ lớn như Google, Microsoft đã bắt đầu hỗ trợ Docker trên hệ thống và cung cấp nhiều tài liệu đào tạo Docker trên nền tảng của họ.
Các bước cài đặt asterisk trên docker như sau:
Bước 1: Cài đặt docker #
>> Xem thêm : Tham khảo bài viết cài đặt docker trên CentOS 7
Bước 2: Pull images Debian 8 #
# docker pull debian:jessie
Bước 3: Chạy CentOS trên Docker #
Kiểm tra images
# docker images
Chạy container và truy cập vào container
# docker run -it --name=<Container Name> --network=host <Image ID>
Bước 4: Cài đặt Asterisk #
Cập nhật Debian
# apt-get update
Cài đặt Asterisk từ repo
# apt-get install asterisk -y
Khởi động asterisk
# /etc/init.d/asterisk start
Thoát khỏi container vẫn giữ hoạt động
# Ctrl + p + q
Bước 5: Commit images #
Login docker hub
# docker login
Username:
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Kiểm tra container ID
# docker ps
Commit images
# docker container commit -m "Comment" <Container ID> <hub user>/<repo>:<tag>
docker container commit -m “Comment” e9324e5ec7c6 tel4vn/asterisk-debian:test
Như vậy container có asterisk đã được commit với images mới
Push images lên repo của bạn
# docker push tel4vn/asterisk-debian:test
Chạy lại container từ images
# docker run -itd --name=PBX-Asterisk --network=host -p 5060:5060/tcp -p 5060:5060/udp -p 10000:30000/udp <images ID> bash
Truy cập vào container, khởi động asterisk
# docker exec -it CONTAINER_ID /bin/bash
# /etc/init.d/asterisk start
Tạo extension
vim /etc/asterisk/sip.conf
[100]
username=100
secret=1234
type=friend
host=dynamic
context=test
qualify=yes
directmedia=no
disallow=all
allow=ulaw,alaw
[101]
username=101
secret=1234
type=friend
host=dynamic
context=test
qualify=yes
directmedia=no
disallow=all
allow=ulaw,alaw
Tạo dialplan
vim /etc/asterisk/extensions.conf
[test]
exten => _1XX,1,Dial(SIP/${EXTEN})
Bước 6: Test dịch vụ
Thoát khỏi container
Ctrl + p + q
Kiểm tra port asterisk
netstat -nutlp | grep asterisk
Nếu dịch vụ chạy tốt thì tiếp tục commit images
Bước 7: Kiểm tra images #
Chạy một container mới với images vừa commit và kiểm tra dịch vụ.
Việc chạy một hệ thống tổng đài asterisk giờ chỉ mất không đến 5p khi sử dụng docker.
Chúc các bạn thành công!!!!
Thông tin khóa học Docker: tại đây
Trung tâm TEL4VN đào tạo hai hình thức học online và offline
- Offline: Dạy tại Hồ Chí Minh, được học lại miễn phí, cuối khóa học được cấp chứng chỉ, được hỗ trợ trang thiết bị thực hành.
- Online: Dạy qua phần mềm zoom.us, có video sau mỗi buổi học, được hỗ trợ group trao đổi hỗ trợ kỹ thuật trọn đời
Link youtube lớp Docker online: