1. Docker部署步骤

  • 安装Mysql,导入Sql脚本
  • 安装Docker,运行docker命令

2. 导入Sql脚本

完成Mysql数据库安装。创建wumei-smart数据库,导入项目中的 springboot/sql/wumei-smart.sql 脚本。(Linux中安装mysql,配置大小写敏感,在 /etc/my.cnf 添加 lower_case_table_names=1 重启MYSQL服务。)


3. 运行Docker命令

运行命令前,对应修改Mysql的连接信息 DB_HOST对应数据库连接地址,不能使用localhost和127.0.0.1作为连接地址,可以使用本机IP或者服务器地址; DB_NAME 对应数据库名称; DB_USER 对应数据库账号; DB_PASSWORD 对应数据库密码。如果Windows下使用该命令,把 \ 换行符改为 ^符号,文件上传路径 /var/wumei-smart/java/uploadPath 改为 D:/wumei-smart/java/uploadPath

docker run \
--name wumei-smart \
--env DB_HOST=192.168.0.100:3306 \
--env DB_NAME=wumei-smart \
--env DB_USER=root \
--env DB_PASSWORD=wumei-smart \
--publish 80:80 \
--publish 1883:1883 \
--publish 8083:8083 \
--volume /var/wumei-smart/java/uploadPath:/var/wumei-smart/java/uploadPath \
--restart unless-stopped \
--detach \
kerwincui/wumei-smart:1.1

系统启动,默认占用 80端口、1883端口、8083端口 ,80端口用于Web端显示、1883端口用于Mqtt的Tcp连接,8083端口用于Mqtt的Websocket连接。如果提示端口占用,请关闭端口占用的程序,或者修改参数 --publish 80XX:80XX 冒号前面的端口;冒号后面是容器里面运行占用,不用修改。

容器启动后,等待10秒左右,出现 wumei-smart等文字提示,表示启动成功。浏览器打开localhost,输入admin admin123即可访问系统。

  • docker ps 查看运行的容器
  • docker logs containerId 查看容器运行的日志。例如 docker logs 57A

4.详细命令介绍

容器中安装了 nginx:1.14.2 / redis-server:5.0.14 / emqx:4.0 / openjdk:8 ,如果需要可以在Docker命令中,做对应的添加和修改。

docker run \
--name wumei-smart \                             # 容器名称
--env DB_HOST=192.168.0.100:3306 \                  # mysql连接地址,不能使用localhost和127.0.0.1作为连接地址                        
--env DB_NAME=wumei-smart \                      # 数据库名称
--env DB_USER=root \                             # 数据库账号
--env DB_PASSWORD=wumei-smart \                  # 数据库密码                
--publish 80:80 \                                # Web端占用端口
--publish 1883:1883 \                            # Mqtt的Tcp连接
--publish 8083:8083 \                            # Mqtt的Websocket连接
--publish 18083:18083 \                          # EXMX的控制台
--publish 8084:8084 \                            # Mqtt加密的Websoket连接,例如小程序使用
--publish 8883:8883 \                            # Mqtt加密的Tcp连接
--publish 8081:8081 \                            # EMQX的接口地址
--publish 6379:6379 \                            # Redis
--publish 8080:8080 \                            # 系统后端
--volume /var/wumei-smart/java/logs:/var/wumei-smart/java/logs \                   # 系统日志
--volume /var/wumei-smart/java/uploadPath:/var/wumei-smart/java/uploadPath \       # 系统上传的文件存储地址
--restart unless-stopped \                                                         # 保持系统一直启动
--detach \                                                                         # 后台运行
kerwincui/wumei-smart:1.1                                                          # 镜像名称

容器中日志和配置文件:

/var/wumei-smart/java/uploadPath            # 系统上传文件的容器内地址
/var/wumei-smart/java/logs                  # 系统日志的容器地址
/etc/nginx/nginx.conf                       # nginx配置文件地址
/var/log/nginx/error.log                    # nginx错误日志
/etc/redis/redis.conf                       # redis配置文件
/var/log/redis/redis-server.log             # redis日志
/etc/emqx/emqx.conf                         # emqx配置文件
/etc/emqx/plugins                           # emqx插件配置
/var/log/emqx                               # emqx日志