部署后端
- 创建mysql目录如下,上传对应的文件
运行以下命令
docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \-v ./mysql/data:/var/lib/mysql \-v ./mysql/conf:/etc/mysql/conf.d \-v ./mysql/init:/docker-entrypoint-initdb.d \mysql
2.通过命令创建一个网络
docker network create hmall
通过命令让hmall和mysql在同一网络中
docker network connect hmall mysql
可通过docker network ls查看网络,docker exec -it 容器名 bash 进入容器,即可ping同一个网络中的容器。
3.修改application-local.yaml
hm:db:host: your ip # 修改为你自己的虚拟机IP地址pw: 123 # 修改为docker中的MySQL密码
之后对hmall打包,上传hm-service目录下的Dockerfile和hm-service/target目录下的hm-service.jar
4.上传镜像到root目录之后,构建镜像,在root目录下执行命令
docker build -t hmall .
运行容器
docker run -d --name hmall --network hmall -p 8080:8080 hmall
5.测试,浏览器访问
http://你的虚拟机地址:8080/hi
http://你的虚拟机地址:8080/search/list
如果出现,欢迎访问黑马商城, 这是您第1次访问,说明服务已启动。
如果返回5xx,可能是数据库连接问题,请检查mysql是否创建成功以及数据表是否存在。
请确保8080端口已开放,且未被占用。
部署前端
上传前端项目,目录如下
执行命令
docker run -d \--name nginx \-p 18080:18080 \-p 18081:18081 \-v /root/nginx/html:/usr/share/nginx/html \-v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \--network hmall \nginx
浏览器访问http://你的虚拟机ip:18080如果正常出现页面,即为成功。
请确保18080,18081端口开放