docker 在linux 两台服务器上,使用docker 部署emqx集群
时间: 2024-10-22 22:16:28 浏览: 40
docker-compose 安装mysql 主从 (多台服务器)
Docker 可以帮助你在 Linux 服务器上部署 EMQx 集群,这是一种开源的 MQTT 消息代理服务。以下是使用 Docker 在两台服务器上搭建 EMQx 集群的基本步骤:
1. **安装 Docker**:
确保两台服务器都已安装 Docker,并配置好必要的网络设置以便容器间通信。
2. **拉取 EMQx 镜像**:
使用命令 `docker pull emq/emq` 或者 `emq/emqx` 来获取最新的 EMQx 容器镜像。
3. **创建网络**:
创建一个专用于 EMQx 集群的 Docker 网络,例如 `docker network create emqx_net`。
4. **启动单节点**:
在每台服务器上运行 EMQx 容器,指定端口映射、数据卷存储等配置。比如:
```
docker run -d --name emqx_node1 \
-p 1883:1883 -p 8081:8081 \
--network emqx_net \
emq/emqx
```
这里 `-p` 参数暴露了 EMQx 的 MQTT 和 Web 界面端口。
5. **启用自动发现**:
EMQx 提供了一个自动发现机制,通常通过环境变量 `EMQX_NODE__NAME` 和 `EMQX_NODE__CLUSTER__ADDR`。例如:
```
docker run -e EMQX_NODE__NAME=node1 -e EMQX_NODE__CLUSTER__ADDR="node1:1883" ...
```
每个节点都需要一个唯一的名称。
6. **启动第二节点**:
同样,在另一台服务器上,修改节点名并添加到集群地址列表:
```
docker run -e EMQX_NODE__NAME=node2 -e EMQX_NODE__CLUSTER__ADDR="node1:1883,node2:1883" ...
```
7. **验证集群**:
登录到任意节点的 Web 控制面板 (`http://your_server_ip:8081`),检查集群是否正常工作,各个节点是否连接在一起。
阅读全文