通过 Docker Compose 部署 EMQX 服务
一、新版本emqx(5.7):
docker-compose:
vi docker-compose.yaml
version: '3'
services:
emqx:
image: emqx/emqx:5.7.0
restart: always
container_name: emqx
healthcheck:
test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"]
interval: 5s
timeout: 25s
retries: 5
networks:
- emqx-bridge
ports:
- 1883:1883
- 8083:8083
- 8084:8084
- 8883:8883
- 18083:18083
volumes:
- /etc/localtime:/etc/localtime:ro
# - ./emqx:/etc/emqx
- emqx-logs:/opt/emqx/log
- emqx-data:/opt/emqx/data
volumes:
emqx-logs:
emqx-data:
networks:
emqx-bridge:
driver: bridge
部署:
docker-compose up -d
访问:
http://localhost:18083
初始默认用户名与密码:
username:admin
password:public
二、旧版本emqx(3.2.7):
# 下载历史版本的emqx服务rpm包:
wget https://packages.emqx.io/emqx-ce/v3.2.7/emqx-centos7-v3.2.7.x86_64.rpm
# EMQX 不同版本rpm包等获取URL:
https://www.emqx.com/zh/downloads/broker
docker-compose:
vi docker-compose.yaml
version: '3'
services:
emqx:
build:
context: ./
dockerfile: dockerfile
restart: always
container_name: emqx
healthcheck:
test: ["CMD", "/usr/bin/emqx_ctl", "status"]
interval: 10s
timeout: 25s
retries: 5
networks:
- emqx-bridge
ports:
- 1883:1883
- 8083:8083
- 8084:8084
- 8883:8883
- 18083:18083
volumes:
- /etc/localtime:/etc/localtime:ro
# - ./emqx:/etc/emqx/
- emqx-logs:/var/log/emqx
- emqx-data:/var/lib/emqx
volumes:
emqx-logs:
emqx-data:
networks:
emqx-bridge:
driver: bridge
dockerfile:
vi dockerfile
FROM centos:7
WORKDIR /root/
COPY emqx-centos7-v3.2.7.x86_64.rpm .
RUN yum install emqx-centos7-v3.2.7.x86_64.rpm -y
EXPOSE 1883
EXPOSE 8083
EXPOSE 8084
EXPOSE 8883
EXPOSE 18083
CMD [ "/usr/bin/emqx","foreground" ]
部署
docker-compose up -d
访问:
http://localhost:18083
初始默认用户名与密码:
username:admin
password:public