源地址:
源作者:随性0528
一、所需环境#
1、jeecgboot 2.4.0#
下载地址:
2、Docker for Windows Installer (win10 docker)#
安装教程:
3、Xshell 6#
用来和阿里云的centos系统交互
4、阿里云服务器一个#
二、本地测试#
1、本地配置 host#
路径一般为: C:\WINDOWS\System32\drivers\etc\hosts
Copy# jeecgboot 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-system
2、修改a文件的数据库和redis链接#
将localhost 换成 jeecg-boot-mysql 和 jeecg-boot-redis
3、采用dev模式编译项目#
4、通过jeecg-boot-parent项目 maven打包,执行install#
出现 BUILD SUCCESS 说明install成功
5、进入jeecg-boot根路径下面命令、启动镜像容器组(也可取代运行中的镜像)#
Copydocker-compose up -d
打开 docker for Windows Installer
可以看到就像组已经启动
6、构建镜像__容器组(当你改变本地代码,也可重新构建镜像)#
Copydocker-compose build
7、前端-修改前端项目的后台域名#
.env.production 文件
CopyNODE_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=
8、构建镜像#
进入ant-design-vue-jeecg根目录依次输入一下命令
Copy# build 项目 yarn run build # 构建镜像 docker build -t nginx:jeecgboot . # 启动镜像 docker run --name jeecg-boot-nginx -p 80:80 -d nginx:jeecgboot
9、访问前台项目#
地址: http://localhost:80
发现本地镜像就已经制作好了
三、部署到阿里云#
1、重新打包nginx镜像#
修改 localhost:8080 为 8.xxx.xxx.xxx:8080
8.xxx.xxx.xxx就是自己阿里云的域名
然后重新打包nginx,步骤和上面的方法一致,就不再赘述了。
2、把镜像上传到docker仓库里(我这里用的是Docker Hub)#
需要在官网注册一个账号,账号名上传镜像会用到
官网地址:
以下命令在powershell中执行
假设我的用户名是:lk0528
Copy# 第一步:登录 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-com
在jeecg-boot中找到 docker-com
修改镜像名:/ 前的就是docker hub 账号的用户名
需要修改三处
Copyjeecg-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-com
将修改好的yml文件上传到阿里云服务器上
上传可以使用filezile
执行 yml文件
Copydocker-compose -f ./docker-com up
5、环境部署完成#
四、可能遇见的问题#
1、compos命令找不到#
在服务器上安装compose
详细地址:
2、端口问题:#
在服务器上运行yml文件,可能会遇到端口已被使用的情况
只需要把相应的端口关闭,重新执行yml即可
Copy# 用于显示tcp,udp的端口和进程等相关情况 netstat -tunlp # 关闭端口 kill PID
其他电脑要访问服务器,阿里云服务器就需要暴露80端口
3、数据库远程修改问题#
如果想在本地修改数据库,需要在阿里云服务器上把3306端口暴露出来,这样在本地就可以通过 navicat 连接
五、docker学习网站#
1、狂神说java 视频
2、菜鸟教程
学习一个框架或一个技术栈,如果有官方开发文档,需要先把官方文档吃透,然后再自己琢磨怎么用到自己的项目中。