1、Docker部署EMQX
EMQX 开源版本
获取 Docker 镜像
docker pull emqx/emqx:5.4.1
启动 Docker 容器
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.4.1
EMQX文档
通过浏览器访问 http://localhost:18083/(localhost 可替换为您的实际 IP 地址)
以访问 EMQX Dashboard 管理控制台,进行设备连接与相关指标监控管理。
默认用户名及密码:admin public
2、Docker 部署redis并连接
docker pull redis # 拉取镜像
# 指定端口后台运行,将容器的6379端口映射到本地机器的6379端口。
# 这样,在本地机器上就可以通过6379端口连接到Redis容器了
docker run -d --name myredis -p 6379:6379 redis
docker exec -it myredis redis-cli # 连接到Redis容器的命令行工具
# 参考
docker run -p 6379:6379 --name redis1 --privileged=true \
-v /app/redis/redis.conf:/etc/redis/redis.conf \
-v /app/redis/data:/data -d redis:6.0.8 \
redis-server /etc/redis/redis.conf
说明:-p 6379:6379配置的端口号; redis.conf配置文件示例:redis1是我起的本容器实例名字;
使用了容器卷所以/app/redis/redis.conf和/app/redis/data是宿主机的绝对路径,
/etc/redis/redis.conf和/data是redis1容器实例的绝对路径;
redis-server /etc/redis/redis.conf使他启动时就加载此配置文件;
综上就完成了容器卷对容器实例配置和数据的持久化,即使容器被删掉,数据仍然保存在宿主机中。
3、docker安装mysql
docker pull mysql:5.7
# 保存下载好的镜像成tar (非必要)
docker save imageid > mysql5.7
mkdir -p /home/app/mysql/data /home/app/mysql/logs /home/app/mysql/conf
docker run --name mysql -p 3306:3306 -v /home/app/mysql/data:/var/lib/mysql -v /home/app/mysql/conf:/etc/mysql/conf.d -v /home/app/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d eef0fab001e8(镜像ID)
说明:
-p 3306:3306 :端口映射,将宿主机3306端口与容器3306端口做映射
格式:-p 宿主机端口:容器端口
–name mysql : 指定容器名字为mysql,也可以不指定,