基于 alpine 的镜像体积比较小
FROM alpine:3.21.2
RUN wget -O /etc/apk/keys/whosgonna_`uname -m`.rsa.pub https://packagecloud.io/whosgonna/`uname -m`/rsakey
RUN ALPINE_MAJMIN=$(cat /etc/os-release | grep VERSION_ID | sed -e 's/VERSION_ID=(d*.d*).*/v1/') && echo "https://packagecloud.io/whosgonna/`uname -m`/alpine/${ALPINE_MAJMIN}/main" >> /etc/apk/repositories
RUN apk add --no-cache kamailio kamailio-db kamailio-dbtext kamailio-ev kamailio-extras kamailio-geoip2 kamailio-http_async kamailio-jansson \
kamailio-json kamailio-lua kamailio-mysql kamailio-postgres kamailio-presence kamailio-redis \
kamailio-sipdump kamailio-snmpstats kamailio-sqlite kamailio-tls kamailio-unixodbc kamailio-utils \
kamailio-uuid kamailio-websocket kamailio-xml kamailio-xmpp
ENTRYPOINT ["kamailio", "-dDDE"]
目前 Kamailio 的版本是 5.8.4
支持 x86 和 arm 架构
这样 build 出来的 Kamailio 应该是最小的,不到 60 兆
Debian 可以添加 packagecloud 仓库
有个 shell 脚本可以自动完成这个事情
https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh
CentOS 似乎也行,但我没测试过
https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh