Docker 的優點
700
2025-04-03
1?概述
1.1?文章目的
本文主要想為研發Python項目的企業或個人提供上云指導,通過本文中的示例項目 “AI物體檢測”,為開發者提供包括項目管理,代碼托管,代碼檢查,編譯構建的操作指導,覆蓋軟件開發全生命周期。
1.2?項目詳情
項目簡介:AI物體檢測應用程序,瀏覽器從本地上傳JPG、PNG和JPEG格式的圖片,使用已經訓練好的AI模型進行圖片檢測,返回檢測結果。
項目周期:3周(敏捷迭代開發)
構建環境:docker 18.03
部署環境:華為云集群節點
華為云服務:軟件開發服務 DevCloud
容器鏡像服務 SWR
云容器引擎 CCE
1.3?前提條件
注冊華為云賬號:華為云官網注冊華為云賬號,此賬號適用于所有華為云產品。
華為云集群節點:部署將使用虛擬機集群,Kubernetes社區基線版本為1.9.10。
2?項目管理
2.1?創建項目
新建項目的開發流程包含兩種類型:scrum流程、看板流程。Scrum流程是標準的敏捷開發流程,工作項層級為傳統的scrum劃分方法Epic->Feature->Story->Task&Bug,本項目為把工作劃分的層級更清晰,選擇了scrum流程。
2.2?創建迭代
本項目研發周期短,只有一次release,劃分成三個迭代,迭代周期為一周。
3?代碼托管
3.1?創建倉庫
??新建代碼倉庫時,選擇“模板新建”,在搜索框中輸入已經被公開為示例模板的倉庫名稱object_detection,選擇該模板。
??輸入新的倉庫名稱(可以和模板倉庫同名),即可創建代碼倉
4?構建&發布
4.1?SWR上傳基礎鏡像
對于很多python語言項目,都會用到一些基礎安裝包,如果每次構建都重新安裝顯然是不合理的,所以,我們可以自己創建包含工程依賴包的鏡像,上傳到SWR服務中,構建時直接使用。本項目中使用的就是SWR中自己上傳的自有AI鏡像。
在SWR服務中,點擊“客戶端上傳”,會顯示上傳指導說明,本小節通過具體步驟輔助大家實踐。
①?Linux系統上安裝docker
查看本地docker.io源并安裝,可以通過“=”指定版本,如:docker.io=1.13.1-0ubuntu1~16.04.2,也可以不指定版本,那么,默認安裝本地最新。如果想安裝docker.ce(社區版)或者docker.ee(企業版),可以通過更新docker源獲得。
#?sudo apt-cache madison docker.io
#?sudo apt install docker.io
②??通過當前路徑下的Dockerfile文件構建自有ubuntu鏡像
#?sudo docker build -t aienvir :16.04 .
Dockerfile文件內容如下,按照這些信息會在基礎ubuntu環境中逐一安裝:
③?上傳鏡像
#sudo docker login -u cn-north-1@cWazX6gbL80EO2XNw4Pp -p 2b8676812056e24a3fc2da3abe4d6ae40f17b4b912488dda2bc7060c43a7d1ac?swr.cn-north-1.myhuaweicloud.com
#sudo docker tag aienvir :16.04 swr.cn-north-1.myhuaweicloud.com/org-pj/aienvir :16.04
#sudo docker push swr.cn-north-1.myhuaweicloud.com/org-pj/aienvir :16.04
其中,org-pj為鏡像所屬組織,可以在SWR的“組織管理”創建。
④?在SWR中查看上傳鏡像
⑤?將鏡像權限設置成“公開”,才能在構建任務中使用
⑥?獲取該鏡像地址(docker?pull后面內容),在代碼倉庫dockerfile中引用
4.2?創建構建任務
??新建任務,輸入任務名
??選擇源碼倉庫
??不使用模板,直接創建任務
??點擊左側“+”,選擇“使用SWR公共鏡像”操作類型
??輸入構建詳細信息
注意:“組織”需要在容器鏡像服務中預先創建完成:
4.3?構建目標
執行構建任務時,會根據object_detection代碼倉庫中Dockerfile文件依次執行任務:
5?部署
5.1?非模板部署任務
??新建部署任務,部署類型選擇“非模板任務”
??編輯“部署設置”
①?選擇已購買的集群
②?選擇SWR生成的鏡像,并設置內存及CPU大小
③?輸入設置訪問方式:容器端口為Dockerfile中“EXPOSE”開放的端口,對應的訪問端口為服務器訪問端口。
5.2?查看部署效果
部署成功后,在華為云應用引擎中,可以在工作負載中查看“無狀態”節點
點擊“外部訪問網址”,登錄服務器,上傳圖片進行圖片識別
至此,恭喜您打通了軟件開發云的各服務,完成了python云上開發環境的搭建。
6?附錄
【云視界Live】大咖手把手教你玩轉知識點
企業敏捷轉型之初試Scrum
企業架構轉型之初試“微服務”
【最佳實踐】短視頻、快節奏,教你如何端到端踐行DevOps
如何開發一款簡單好用的在線接口文檔管理工具
【On?DevCloud】以語言為維度講解如何將項目遷移上云
Android on 華為云DevCloud
軟件開發平臺 DevCloud python 軟件開發云
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。