Dockerとdocker-composeを使用したMQTT Brokerの構築手順です。
完成しているソースは以下にあります。
Docker-sample/MQTT-Broker at main · tsuneken5/Docker-sample
Contribute to tsuneken5/Docker-sample development by creating an account on GitHub.
2024/09/04 起動確認の方法を追記
2024/09/04 docker-compose.yml
を修正
環境
- ホストOS:Windows 11 23H2
- ゲストOS:Ubuntu 20.04.5
- Docker version:20.10.12
- Docker Compose version:2.10.2
ディレクトリ構成
$ tree --dirsfirst -F
.
├── conf/
│ └── mosquitto.conf
├── ssl/
│ ├── ca.crt
│ ├── server.crt
│ └── server.key
└── docker-compose.yml
証明書の準備
TLS通信をしたい場合は、下記の記事を参考に証明書を準備してください。
TLS通信をしない場合は不要です。
docker-compose.ymlの作成
version: "3"
services:
mqtt:
image: eclipse-mosquitto:2.0
ports:
- 1883:1883
- 8083:8083
- 8883:8883
- 8084:8084
restart: unless-stopped
volumes:
- ./conf:/mosquitto/config
- ./ssl:/mosquitto/certs
user: 1000:1000
TLS通信が不要な場合は7, 9, 13行目は削除してください。
204/09/04 restart: unless-stopped
を削除しました。
mosquitto.confの作成
allow_anonymous true
listener 1883
protocol mqtt
listener 8083
protocol websockets
listener 8883
protocol mqtt
cafile /mosquitto/certs/ca.crt
keyfile /mosquitto/certs/server.key
certfile /mosquitto/certs/server.crt
listener 8084
protocol websockets
cafile /mosquitto/certs/ca.crt
keyfile /mosquitto/certs/server.key
certfile /mosquitto/certs/server.crt
TLS通信が不要な場合は、9 – 19行を削除してください。
コンテナの起動
下記のコマンドでコンテナを起動します。
$ docker-compose up -d
起動確認
2024/09/04 追記
こっちでやってます。
コメント