Docker インストール Eclipse-mosquitto

1. eclipse-mosquitto:2.0.14をプルします。

[root@Tseng-HW ~]# docker pull eclipse-mosquitto:2.0.14
2.0.14: Pulling from library/eclipse-mosquitto
97518928ae5f: Already exists 
b491d2bad818: Pull complete 
1c67a7209b6c: Pull complete 
Digest: sha256:64b7c1729f7d1fff46b5e884fc389071686b2f7ed116c3fc7e17cbcb50fa147e
Status: Downloaded newer image for eclipse-mosquitto:2.0.14
docker.io/library/eclipse-mosquitto:2.0.14
[root@Tseng-HW ~]# docker images
REPOSITORY                                    TAG       IMAGE ID       CREATED         SIZE
eclipse-mosquitto                             2.0.14    457fe4154880   9 months ago    11.8MB
[root@Tseng-HW ~]# 

2. 構成ファイル、データファイル、およびログファイルディレクトリを作成します。

[root@Tseng-HW ~]# mkdir -p /data/mosquitto/config
[root@Tseng-HW ~]# mkdir -p /data/mosquitto/data
[root@Tseng-HW ~]# mkdir -p /data/mosquitto/log
[root@Tseng-HW config]# cd /data/mosquitto/config/
-- 创建配置文件、创建密码文件
[root@Tseng-HW config]# vim mosquitto.conf
[root@Tseng-HW config]# vim userpass.conf
[root@Tseng-HW config]# ls
mosquitto.conf  userpass.conf

        mosquitto.conf 設定ファイル

listener 1883
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
password_file /mosquitto/config/userpass.conf
per_listener_settings false
allow_anonymous false

3. コンテナを起動します

[root@Tseng-HW mosquitto]# docker run -d --name eclipse-mosquitto -v /data/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /data/mosquitto/config/userpass.conf:/mosquitto/config/userpass.conf -v /data/mosquitto/data:/mosquitto/data -v /data/mosquitto/log:/mosquitto/log -p 20011:1883 eclipse-mosquitto:2.0.14
68ab8f107a90dfc4943258a45b550379474b769a2228ddab4a26547c605dbe85
[root@Tseng-HW mosquitto]# docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS         PORTS                                         NAMES
68ab8f107a90   eclipse-mosquitto:2.0.14   "/docker-entrypoint.…"   11 seconds ago   Up 9 seconds   0.0.0.0:20011->1883/tcp, :::20011->1883/tcp   eclipse-mosquitto
[root@Tseng-HW mosquitto]#

4. コンテナに入り、パスワードを設定します(パスワード設定成功後、コンテナを再起動します) パスワードの長さに注意してください、長すぎると失敗する可能性があります。

[root@Tseng-HW mosquitto]# docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS          PORTS                                         NAMES
68ab8f107a90   eclipse-mosquitto:2.0.14   "/docker-entrypoint.…"   13 minutes ago   Up 13 minutes   0.0.0.0:20011->1883/tcp, :::20011->1883/tcp   eclipse-mosquitto
[root@Tseng-HW mosquitto]# docker exec -it 68ab sh
/ # mosquitto_passwd -b mosquitto/config/userpass.conf tseng Tseng@2022
/ # exit
[root@Tseng-HW mosquitto]# cat /data/mosquitto/config/userpass.conf 
tseng:$7$101$LGsXChp3eUUNBiPx$D0ctHVj46/Qv0EcM1VOOUxCsxA1K3Gj27sppnndaOJYg21NUmUXK9M6a2OKe8sCHGodkZNC7nKliLp9esNrXyg==
[root@Tseng-HW mosquitto]# docker restart 68ab
68ab
[root@Tseng-HW mosquitto]# 

        新しいユーザーの追加、ユーザーの削除、操作後のコンテナーの再起動

[root@Tseng-HW ~]# docker exec -it 68ab sh
/ # cat /mosquitto/config/userpass.conf 
tseng:$7$101$ZJyWnsIKF4k4v6xs$Jf3oKACgopIpjxSMnPDHlynMOa5h5F8AZjIsCO4Aly9QbVDedlzpYgqaMdOQBUSCtpP07neJyWTDjNKquQkhhg==
# 添加新用户
/ # mosquitto_passwd -b mosquitto/config/userpass.conf tseng1 tseng#2023
/ # mosquitto_passwd -b mosquitto/config/userpass.conf tseng2 tseng#2023
/ # cat /mosquitto/config/userpass.conf 
tseng:$7$101$ZJyWnsIKF4k4v6xs$Jf3oKACgopIpjxSMnPDHlynMOa5h5F8AZjIsCO4Aly9QbVDedlzpYgqaMdOQBUSCtpP07neJyWTDjNKquQkhhg==
tseng1:$7$101$WCEf4zBR7JkVZD9F$zCYCjnNJmqIs8Y47s7iSE/jldoFOt7ZwbEEotwdlCDvx4T7U/tmH83kOHrBMc3HFyXLhiGHMfIIk4tkduPo38Q==
tseng2:$7$101$4CqD7hUZSeZWx34/$+/QQNmt0mRwbFh7Dbd9eLDHMmPhqzs9Jd2P8uddOgjB9kb4TxvMKmXvKe7wNycXkJDiN4dh4gw5efI8Q+IZIUg==
## 删除用户
/ # mosquitto_passwd -D mosquitto/config/userpass.conf tseng2
/ # cat /mosquitto/config/userpass.conf 
tseng:$7$101$ZJyWnsIKF4k4v6xs$Jf3oKACgopIpjxSMnPDHlynMOa5h5F8AZjIsCO4Aly9QbVDedlzpYgqaMdOQBUSCtpP07neJyWTDjNKquQkhhg==
tseng1:$7$101$WCEf4zBR7JkVZD9F$zCYCjnNJmqIs8Y47s7iSE/jldoFOt7ZwbEEotwdlCDvx4T7U/tmH83kOHrBMc3HFyXLhiGHMfIIk4tkduPo38Q==
/ # 

5. テスト (MQTTX テストを使用)

       注: MQTT ポートを開きます。

    MQTTX ダウンロード アドレス: MQTT X: クロスプラットフォーム MQTT 5.0 デスクトップ クライアント ツール

 5.1 サブスクリプションの追加

5.2 メッセージの送信

 

おすすめ

転載: blog.csdn.net/piaomiao_/article/details/126628823