系统:win10
部署步骤:
一、mall-portal在windows环境下的部署步骤(基于Docker-compose)
1、下载所有需要安装的Docker镜像
docker pull mysql:5.7
docker pull redis:7
docker pull nginx:1.22
docker pull rabbitmq:3.9-management
docker pull elasticsearch:7.17.3
docker pull kibana:7.17.3
docker pull logstash:7.17.3
docker pull mongo:4
2、在J:\docker\compose_mall下新建要挂载的目录,并将对应的配置或脚本文件复制粘贴到对应的目录中
\mydata\elasticsearch\data
\mydata\nginx\nginx.conf
\mydata\logstash\logstash.conf
\mydata\mysql\mall.sql
3、修改Logstash的配置文件logstash.conf中output节点下的Elasticsearch连接地址为es:9200
4、修改原文件中卷的路径,执行以下命令运行docker-compose-env.yml脚本创建容器
命令:docker-compose -f docker-compose-env.yml up -d
5、为了保证Elasticsearch能正常启动,执行以下命令修改系统内核参数
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
sysctl -p
6、将mall.sql文件拷贝到mysql容器的/目录下
docker cp \mydata\mall.sql mysql:\
7、进入mysql容器,连接mysql服务,创建并使用mall数据库,执行mall.sql脚本创建数据表,并在workbench中新建对应连接以方便查看数据变化
8、下载Elasticsearch的中文分词器analysis-ik,解压到\mydata\elasticsearch\plugins目录下,并重启Elasticsearch
9、进入logstash容器,执行以下命令安装json_lines插件,并重启logstash
docker exec -it logstash bash
logstash-plugin install logstash-codec-json_lines
docker restart logstash
10、访问http://localhost:15672进入rabbitmq登录页面,使用guest guest登录后,创建mall账号,并设置其为管理员,创建新的虚拟host为 /mall,并给mall用户配置访问/mall的权限
二、Docker开放远程API接口
1、windows防火墙添加进入规则
防火墙 → 高级设置 → 入站规则 → 新建规则 → 选择端口 → 选择TCP,特定本地端口输入2375 → 允许连接 → 三个全选 → name处填:Docker-2375 → Finish
2、docker设置 - docker engine添加端口规则
三、使用Dockerfile为mall-portal构建docker镜像
1、克隆mall项目到本地,并使用IDEA打开
2、将\mall\mall-portal\src\main\resources\application-dev.yml文件中的localhost全改成db
3、将mall\pom.xml中的docker.host修改为http://localhost:2375
4、打开Maven,双击mall-portal\Lifecycle\package进行打包,将生成的
mall-portal-1.0-SNAPSHOT.jar包复制粘贴到J:\docker\compose_mall\Dockerfile中
5、编写Dockerfile文件,并将其复制粘贴到J:\docker\compose_mall\Dockerfile中
6、在Dockerfile所在目录执行以下命令构建docker镜像
docker build -t mall/mall-portal:1.0-SNAPSHOT .
四、使用docker-compose启动mall-portal容器
执行命令:docker-compose -f docker-compose-app.yml up -d
结果图:
五、遇到的问题
基于以上步骤,环境搭建成功,接口文档能正常访问,但是在请求UmsMemberController中的/sso/getAuthCode接口时,服务器响应为500,但是HomeController中的接口能正常响应。麻烦老师帮忙看一下,是哪里还有问题?谢谢啦