Mosquitto 原始碼建置

從原始碼編譯 Mosquitto 1.4.11 的 Ubuntu 14.04 容器。用原始碼建置的好處是可以自行決定要不要開啟 TLS、以及調整編譯選項。

Dockerfile

FROM ubuntu:14.04.2
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y \
	wget \
	libwrap0-dev \
	libc-ares-dev \
	xsltproc
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_3.2.0-23.36_amd64.deb
RUN dpkg -i linux-libc-dev_3.2.0-23.36_amd64.deb
RUN apt-get install -y \
	build-essential \
	libssl-dev \
	uuid-dev
WORKDIR /home/root
RUN wget https://mosquitto.org/files/source/mosquitto-1.4.11.tar.gz
RUN tar xvzf mosquitto-1.4.11.tar.gz
WORKDIR mosquitto-1.4.11
RUN make
RUN make install
USER mosquitto
WORKDIR /home/mosquitto
CMD ["su", "-", "mosquitto", "-c", "/bin/bash"]

編譯依賴

套件 用途
libwrap0-dev TCP Wrappers 存取控制
libc-ares-dev 非同步 DNS 解析
xsltproc 產生 man page
libssl-dev TLS/SSL 支援
uuid-dev 產生 client id

建置與執行

# 建置映像
docker build -t mosquitto-src:1.4.11 .

# 啟動 Broker
docker run -d -p 1883:1883 --name mosquitto mosquitto-src:1.4.11 mosquitto

# 訂閱與發布測試
mosquitto_sub -h localhost -t 'sensor/#' -v
mosquitto_pub -h localhost -t 'sensor/temp' -m '25.3'

注意事項

相關資源


← 回到 IoT 物聯網與訊息佇列

本目錄檔案