docker-compose启动EMQX

1. 准备

  • 服务器优化

《01-EMQ的服务器调优》文档操作

  • docker已安装

  • docker-compose已安装

2. 服务启动

2.1 准备

# mkdir /data/emqx
# ln -s /data/emqx  /opt/emqx

2.2 yam文件

/data/emqx 下创建 docker-compose.yaml

version: '3'
services:
  emqx:
    image: "harbocto.xxx.com.cn/public/emqx:4.2.3"
    container_name: "emqx-4.2.3"
    environment:
      - EMQX_LOADED_PLUGINS="emqx_management,emqx_auth_http,emqx_dashboard"
      - EMQX_DASHBOARD__DEFAULT_USER__LOGIN=liubei
      - EMQX_DASHBOARD__DEFAULT_USER__PASSWORD=liubei@2021
      - EMQX_NODE__MAX_PORTS=65535
      - EMQX_MQTT__MAX_PACKET_SIZE=16MB
    ports:
     - 18083:18083
     - 1883:1883
     - 8080:8081
     - 8883:8883
    volumes:
     - ./logs:/opt/emqx/log
     - /etc/localtime:/etc/localtime
    restart: always

2.3 关于日志挂载

上边yaml文件可见 ./logs:/opt/emqx/log,说明我们把日志挂载出来了,当前目录(data/emqx目录)下 logs目录。
但是这里有个问题:容器中使用的并不是root用户,如果我们用root用户启动容器,则docker在宿主机上创建的logs目录的属主是 root,那么容器中的服务会没有权限写,有如下两个解决方案:

  • 给logs目录777 权限(不推荐)
  • 修改logs目录属主(推荐)
    一般容器中的用户会映射到宿主机中 用户ID是 1001这个用户。为了保险我们可以自己实测:
    1)创建logs目录给777 权限
    2)启动服务,查看容器在logs目录下创建的文件属主(比如看到是用户A)
    3)停止容器,删除logs目录
    4)重新创建logs目录,将主、组都修改为用户A

2.4 启动服务

  • 启动
[root@liubei emqx]# docker-compose ps
  • 查看
[root@liubei emqx]# docker-compose ps
       Name                     Command               State                                  Ports
----------------------------------------------------------------------------------------------------------------------------------
emqx-4.2.3           /usr/bin/docker-entrypoint ...   Up      11883/tcp, 0.0.0.0:18083->18083/tcp,:::18083->18083/tcp,
                                                              0.0.0.0:1883->1883/tcp,:::1883->1883/tcp, 4369/tcp, 4370/tcp,
                                                              5369/tcp, 6369/tcp, 0.0.0.0:8080->8081/tcp,:::8080->8081/tcp,
                                                              8083/tcp, 8084/tcp, 0.0.0.0:8883->8883/tcp,:::8883->8883/tcp

  • web访问
    URL: http://IP:18083

在这里插入图片描述

posted on 2021-12-18 16:34  运维开发玄德公  阅读(106)  评论(0编辑  收藏  举报  来源

导航