一、所需环境
1、jeecgboot 2.4.0
下载地址:http://www.jeecg.com/
2、Docker for Windows Installer (win10 docker)
安装教程:https://www.runoob.com/docker/windows-docker-install.html
3、Xshell 6
用来和阿里云的centos系统交互
4、阿里云服务器一个
二、本地测试
1、本地配置 host
路径一般为: C:\WINDOWS\System32\drivers\etc\hosts

# jeecgboot
127.0.0.1 jeecg-boot-redis
127.0.0.1 jeecg-boot-mysql
127.0.0.1 jeecg-boot-system
2、修改application-dev.yml文件的数据库和redis链接
将localhost 换成 jeecg-boot-mysql 和 jeecg-boot-redis

3、采用dev模式编译项目

4、通过jeecg-boot-parent项目 maven打包,执行install

出现 BUILD SUCCESS 说明install成功

5、进入jeecg-boot根路径下面命令、启动镜像容器组(也可取代运行中的镜像)
docker-compose up -d

打开 Docker for Windows Installer
可以看到就像组已经启动

6、构建镜像__容器组(当你改变本地代码,也可重新构建镜像)
docker-compose build
7、前端-修改前端项目的后台域名
.env.production 文件
NODE_ENV=production
VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot
VUE_APP_CAS_BASE_URL=http://localhost:8888/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview

8、构建镜像
进入ant-design-vue-jeecg根目录依次输入一下命令
# build 项目
yarn run build
# 构建镜像
docker build -t nginx:jeecgboot .
# 启动镜像
docker run --name jeecg-boot-nginx -p 80:80 -d nginx:jeecgboot

9、访问前台项目
发现本地镜像就已经制作好了

三、部署到阿里云
1、重新打包nginx镜像
修改 localhost:8080 为 8.xxx.xxx.xxx:8080
8.xxx.xxx.xxx就是自己阿里云的域名

然后重新打包nginx,步骤和上面的方法一致,就不再赘述了。
2、把镜像上传到docker仓库里(我这里用的是Docker Hub)
需要在官网注册一个账号,账号名上传镜像会用到
以下命令在powershell中执行

假设我的用户名是:lk0528
# 第一步:登录
docker login -u lk0528
# 输入密码后就会提示登陆成功
Login Succeeded
# 第二步:上传镜像到docker仓库
docker tag jeecg-boot-mysql lk0528/jeecg-boot-mysql:1.1
docker tag jeecg-boot-system lk0528/jeecg-boot-system:1.0
docker tag nginx:jeecgboot lk0528/nginx:1.2
docker push lk0528/jeecg-boot-mysql:1.1
docker push lk0528/jeecg-boot-system:1.0
docker push lk0528/nginx:1.2
3、修改docker-compose-server.yml
在jeecg-boot中找到 docker-compose-server.yml

修改镜像名:/ 前的就是docker hub 账号的用户名

需要修改三处
jeecg-boot-mysql:
image: lk0528/jeecg-boot-mysql:1.0
jeecg-boot-system:
image: lk0528/jeecg-boot-system:1.0
jeecg-boot-nginx:
image: lk0528/nginx:1.2
4、执行 docker-compose-server.yml
将修改好的yml文件上传到阿里云服务器上

上传可以使用filezile

执行 yml文件
docker-compose -f ./docker-compose-server.yml up
5、环境部署完成


四、可能遇见的问题
1、compos命令找不到
在服务器上安装compose
详细地址: https://www.runoob.com/docker/docker-compose.html

2、端口问题:
在服务器上运行yml文件,可能会遇到端口已被使用的情况
只需要把相应的端口关闭,重新执行yml即可
# 用于显示tcp,udp的端口和进程等相关情况
netstat -tunlp
# 关闭端口
kill PID
其他电脑要访问服务器,阿里云服务器就需要暴露80端口
3、数据库远程修改问题
如果想在本地修改数据库,需要在阿里云服务器上把3306端口暴露出来,这样在本地就可以通过 navicat 连接
五、docker学习网站
1、狂神说java 视频 https://www.bilibili.com/video/BV1og4y1q7M4
2、菜鸟教程 https://www.runoob.com/docker/docker-tutorial.html
学习一个框架或一个技术栈,如果有官方开发文档,需要先把官方文档吃透,然后再自己琢磨怎么用到自己的项目中。