该博文仅以EMQX 4.3.11版本为例进行说明(其他版本请自行参考)
一、容器启动命令
docker run --name=emqx --user=emqx --network=bridge --workdir=/opt/emqx --expose=11883 -p 18083:18083 -p 1883:1883 --expose=4369 --expose=4370 --expose=5369 --expose=6369 --expose=6370 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 --restart=always --runtime=runc --detach=true emqx/emqx:4.3.11 /opt/emqx/bin/emqx foreground
二、如何开启JWT验证
1、登陆EMQX管理页,参考下图将相应插件打开(目前只能用官网提供的jwt token进行访问,自己生成的不知道为何,暂时没搞懂原因)

三、如何开启WSS协议(即ws+ssl)
进入容器中,打开配置文件(默认地址:/opt/emqx/etc/emqx.conf),找到下面三行改成自己的密钥
listener.ssl.external.keyfile = etc/certs2/key.pem
listener.ssl.external.certfile = etc/certs2/cert.pem
listener.ssl.external.cacertfile = etc/certs2/cacert.pem
对应nginx证书命名规则如下
# 2. 复制 Nginx 证书到该目录(替换为你的实际路径) cp /etc/nginx/ssl/yourdomain.crt /opt/emqx/certs/cert.pem cp /etc/nginx/ssl/yourdomain.key /opt/emqx/certs/key.pem # 如果有CA根证书(xxx.pem),也复制过去(可选) cp /etc/nginx/ssl/yourdomain.pem /opt/emqx/certs/cacert.pem