docker搭建emqx全過程
EMQX 是一個(gè)開源的、高度可擴(kuò)展的、跨平臺的MQTT代理,用于處理來自物聯(lián)網(wǎng)、移動應(yīng)用程序和分布式系統(tǒng)的數(shù)據(jù)。要使用Docker搭建emqx,你需要首先從Docker Hub拉取emqx的官方鏡像,然后可以通過Docker CLI命令或Docker Compose來運(yùn)行這個(gè)容器。
使用 Docker CLI 搭建 emqx
拉取 EMQ X 鏡像:
docker pull emqx/emqx:5.5.0
運(yùn)行emqx容器:
docker run -d --name emqx \ -p 1883:1883 -p 8083:8083 \ -p 8084:8084 -p 8883:8883 \ -p 18083:18083 \ -v $PWD/data:/opt/emqx/data \ -v $PWD/log:/opt/emqx/log \ emqx/emqx:5.5.0
- -d: 表示在后臺運(yùn)行容器。
- –name emqx: 設(shè)置容器的名稱為emqx。
- -p 1883:1883: 將容器內(nèi)部的MQTT默認(rèn)端口1883映射到宿主機(jī)的同一端口,用于客戶端連接。
- -p 18083:18083: 將容器內(nèi)部的EMQ X Dashboard管理界面默認(rèn)端口18083映射到宿主機(jī)的同一端口,用于通過網(wǎng)頁訪問管理界面。
查看容器日志:
docker logs emqx
emqx: 運(yùn)行中的容器名稱。
使用 Docker Compose 搭建 emqx
如果你想要使用Docker Compose來部署emqx,你需要一個(gè)docker-compose.yml配置文件。下面是一個(gè)簡單的例子:
version: '3' services: emqx1: image: emqx:5.5.0 container_name: emqx1 environment: - "EMQX_NODE_NAME=emqx@node1.emqx.io" - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static" - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]" healthcheck: test: ["CMD", "/opt/emqx/bin/emqx ctl", "status"] interval: 5s timeout: 25s retries: 5 networks: emqx-bridge: aliases: - node1.emqx.io ports: - 1883:1883 - 8083:8083 - 8084:8084 - 8883:8883 - 18083:18083 # volumes: # - $PWD/emqx1_data:/opt/emqx/data emqx2: image: emqx:5.5.0 container_name: emqx2 environment: - "EMQX_NODE_NAME=emqx@node2.emqx.io" - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static" - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]" healthcheck: test: ["CMD", "/opt/emqx/bin/emqx ctl", "status"] interval: 5s timeout: 25s retries: 5 networks: emqx-bridge: aliases: - node2.emqx.io # volumes: # - $PWD/emqx2_data:/opt/emqx/data networks: emqx-bridge: driver: bridge
- version: ‘3’: 指定Docker Compose配置文件的版本號。
- services: 定義要運(yùn)行的服務(wù)集。
- emqx: 這是定義的服務(wù)名稱。
- image: 使用的EMQ X鏡像名稱。
- container_name: 指定容器的名稱。
- ports: 容器的端口映射列表。
- “1883:1883”: 將容器的1883端口映射到宿主機(jī)的1883端口。
- “18083:18083”: 將容器的18083端口映射到宿主機(jī)的18083端口。
- restart: 容器的重啟策略,always表示如果容器退出,Docker將自動重啟它。
使用以下命令來啟動服務(wù):
docker-compose up -d
- up: 創(chuàng)建并啟動服務(wù)。
- -d: 在后臺運(yùn)行服務(wù)。
要停止并移除服務(wù)及相關(guān)網(wǎng)絡(luò),可以使用:
docker-compose down
- down: 停止并移除所有由docker-compose.yml文件定義的服務(wù)和網(wǎng)絡(luò)。
到此這篇關(guān)于docker搭建emqx的文章就介紹到這了,更多相關(guān)docker搭建emqx內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker下安裝部署Clickhouse及其遠(yuǎn)程訪問方式
文章介紹了如何遠(yuǎn)程拉取和安裝ClickHouse Docker鏡像,配置和部署ClickHouse容器,并通過DataGrip遠(yuǎn)程訪問ClickHouse2024-11-11docker-compose編排單體nacos、rabbitmq、redis基礎(chǔ)服務(wù)詳解
這篇文章主要介紹了docker-compose編排單體nacos、rabbitmq、redis基礎(chǔ)服務(wù),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04docker安裝prometheus和grafana的詳細(xì)過程
prometheus通過各種Exporter采集到監(jiān)控?cái)?shù)據(jù),然后存儲進(jìn)prometheus中,以供查詢展示,這篇文章主要介紹了docker安裝prometheus和grafana,需要的朋友可以參考下2023-02-02