自我介紹
我是資訊管理與資訊系統專業三年級學生。該專業在我校是和計算機、軟體工程專業一個學院的,是以我們專業的培養計劃中也包括了許多有關開發的課程。如 Java&JavaEE、資料庫、資料分析與可視化、Unix等等。
了解到飛天加速計劃的契機是在這學期開的Unix課和管理資訊系統課上。雖然我在二年級的時候就已經用微軟推出的WSL2來接觸Linux系統和Docker,但畢竟是在主控端上,我不怎麼敢亂折騰它。直到Unix的授課老師在課上提到阿裡雲的伺服器有對學生優惠之後,我才登上官網來一探究竟。這才接觸到了這個計劃。
使用攻略
由于我在WSL2上接觸過Linux系統(Ubuntu),是以上手起來并沒有我想象中的那般困難。遇到的唯一一個問題就是當我試圖用Docker在伺服器上部署我的應用的時候被伺服器的防火牆攔截導緻我無法通過指定的端口通路伺服器資源。好在阿裡雲的生态較為良好,有很多人在論壇中分享自己的開發經驗或是寫一些教學部落格。簡單的幾次查找之後我就找到了一篇與我遇到的問題相似的部落格。操作如下所示:

收獲總結
在申請了伺服器之後,我結合課内的作業(springboot+vue的前後端分離項目)和Docker,在伺服器上部署了我自己的應用。
這是首頁 這是一個簡單的前後端互動
同時這也是我第一次使用Docker-compose來管理容器。不得不說這一過程對我來說都是未曾嘗試過的。從編寫Dockerfile到單獨測試容器到編寫docker-compose.yml再到部署。每一個環節我都必須查閱大量的資料并進行嘗試。在編寫Dockerfile分别為前後端打包的時候,我參考了現成的手腳架——
jeecg-boot中的Dockerfile。在其中稍作修改——為了減少鏡像的大小、重新指定Nginx的代理網絡等等。最後才傳到DockerHub上等待伺服器端拉取。
DockerHub上的後端鏡像 DockerHub上的前端鏡像
完成了項目的打包之後我便要開始着手嘗試用Docker-compose來管理三個鏡像(包括之後要用的資料庫)。
我在參照了官方給出的一些執行個體之後成功的寫出了一個可以成功部署的docker-compose.yml。内容如下
version: '2.2'
services:
mysql:
image: mysql:5.7
container_name: mysql
volumes:
- E:\Database\Mysql:/var/lib/mysql/
networks:
alita:
ipv4_address: 172.1.0.10
ports:
- "3306:3306"
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max_connections=3000
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
backend:
image: intellinan/mis-java:1.0
container_name: Jmis
ports:
- "9200:9200"
networks:
alita:
ipv4_address: 172.1.0.20
front:
image: intellinan/mis-vue:1.0
container_name: Vmis
ports:
- "8080:80"
networks:
alita:
ipv4_address: 172.1.0.30
networks:
alita:
external: true
最後在依照教程解決了伺服器防護牆的問題之後我終于能通路部署後的應用,一時間激動與欣喜湧上心頭——仔細想來,如果沒有這個飛天計劃,我不會去嘗試”新技術“,更不會收獲如此純粹的愉悅!
倘若能申請成功的話,我希望将我的個人部落格也放到伺服器上。
這是我個人部落格的現連結:
個人部落格
作品
在此貼出的作品便是我在上文中提到的部署在伺服器上的服務——這是一個非常簡單的服務。