一、所需環境
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
學習一個框架或一個技術棧,如果有官方開發文檔,需要先把官方文檔吃透,然后再自己琢磨怎么用到自己的項目中。