響應課程突破 1,000 學員,2023 全面更新,內容大幅擴增!
搶先試看 - Docker 新手入門篇 架構解析
響應課程突破 1,000 學員,2023 全面更新,內容大幅擴增!
搶先試看 - Docker 新手入門篇 架構解析
Docker 的定義
Docker 是一種新興的虛擬化技術,能向本地作業系統索取虛擬化資源(記憶體、硬碟空間),並建立起屬於自己的小天地。相較於傳統的「虛擬化機器」技術,Docker 能更有效率地去管理與分配虛擬化資源。也因為其獨立於作業系統的特性,Docker 能實現跨平台的部署,大幅增加對於不同環境的相容性。
Docker 主要運作模式
將「環境」、「程式碼」、「安裝指令」打包成一個檔案,做為之後部署唯一需要的物件,大大減輕開發佈版的負擔!
Docker 的三大功能
Docker 的應用情境
情境一:公司專案的部署流程繁雜,同時設定檔與參數又多,還得全程手動操作,既費時又難以維持人工的部署品質。➤ 解決方案:此時可利用 Docker 的 image 打包功能,讓整個流程自動化,不僅省下人力也同時保障部署品質。
情境二:公司資料庫資料充斥著大量髒資料,導致開發者以及測試人員難以判斷是新功能沒做好?還是髒資料的問題?這種不確定性造成了開發時程的延宕。➤ 解決方案:此時可利用 Docker 將整個資料庫環境打包,在每次測試時快速建立一個全新的測試環境,保障資料的完整性與正確性,進而加速新功能的開發與測試。
情境三: 公司大多數開發人員使用 Mac 作業系統開發,然而客戶端的環境五花八門,有 Windows、Linux 或是不同版本的 Mac 環境。常常開發好的專案,放到了別的環境後,許多功能就壞了,因此沒辦法準時地按照合約在客戶那上架。➤ 解決方案:此時可利用 Docker 獨立於作業系統的特性,讓開發好的專案擁有跨平台部署的彈性。
打造堅固的 Docker 基礎:開啟 DevOps 的大門
Docker 是實現自動化部署的共用技術,熟悉 Docker 是所有專業技術人員的第一步。透過此課程,你將能為自己打造出穩健的基礎,之後根據個人職涯目標,能往下列三大方向精進自身技術,創造出更高的自我價值。
程式設計技術(Dev)+專業部署技術(Ops)=高價值技術人才(DevOps)
知名技術網站 Stack Overflow 統計 2018 各類技術職缺薪資,DevOps 在各大國家皆名列第一。(來源)
架構式圖片教學
市面上 Docker 相關課程多為投影片與文字形式,常常一個簡單的觀念卻需要大量文字來說明,不僅耗時也造成學習效果低落。因此,本課程首創架構式圖片教學,透過簡單易懂的架構圖,讓學員更直觀得了解 Docker 的運作方式,不僅提升學習效率,也加深長期圖像化學習記憶。
豐富的實作演練與實務應用情境
➤ 每個課程章節皆有架構圖來協助觀念的理解➤ 多個課程章節皆有實作演練,學員們可以跟著動手做來提升熟悉度➤ 課程涵蓋多個實務狀況,讓學員們體會 Docker 是如何實際運用在工作環境上➤ 提供無限次數的問題解答,歡迎學員踴躍留言。修習完此課程後,你將能夠:
➤ 清楚了解 Docker 整體架構➤ 熟悉 Docker 重要指令操作➤ 使用 Docker 簡化現有專案佈版步驟➤ 使用 Docker 建立乾淨測試環境➤ 使用 Docker 達成專案跨平台通用性➤ 擔任團隊中的 Docker 專家什麼是 Docker?為什麼要用它?
▶︎ 章節 1-2:Docker 什麼是Docker?▶︎ 章節 1-3:Docker 基本架構概念與三大功用Docker 是現在軟體從業人員必備的技能之一,也是提升自己價值的優先學習技能。為了讓學員們了解學習 Docker 的目的與動機,我們將講解 Docker 的三大功用:
要如何在我的電腦中使用 Docker?
▶︎ 章節 2-1:Docker 如何在不同作業系統上使用 觀念解說▶︎ 章節 2-2:Docker 如何在不同作業系統上使用 實作示範 Linux▶︎ 章節 2-3:Docker 如何在不同作業系統上使用 實作示範 MacOS▶︎ 章節 2-4:Docker 如何在不同作業系統上使用 實作示範 Windows▶︎ 章節 3-1:Docker Windows/MacOS中的Docker階層關係 觀念解說 (進階)Docker 能運行在各個不同的作業系統上,然而對於各種作業系統,我們需要相對應的安裝方式才能運行 Docker Engine,因此此章節我們將介紹 Linux, WIndows, MacOS 三種 Docker 環境的建立方式,包含Toolbox以及Docker Desktop兩種安裝方式。
站在巨人的肩膀上,實現快速部署 - Docker Image & Container
▶︎ 章節 4-1:Dockerfile vs Docker Image vs Docker Container階層關係 觀念解說▶︎ 章節 5-1:建立與使用Docker image 實作示範 雲端下載與使用▶︎ 章節 5-2:建立與使用Docker image 實作示範 本地建立▶︎ 章節 5-3:建立與使用Docker image 實作示範 上傳雲端▶︎ 章節 5-4:建立與使用Docker image 實作示範 本地清理▶︎ 章節 6-1:建立與使用Docker Container 實作示範Dockerfile - Docker Image - Docker Container是學習Docker技術的第一層重要階層關係。
我們將在Docker Image 章節中,學習如何「使用」、「建立」、「分享」以及「清理」Docker Image。了解這些章節之後,我們就有能力去使用網路上成千上萬的現有Docker Image,做各式各樣的應用,這將是學習Docker的一個重要里程碑之一。
而在Docker Container章節中,我會將學到如何去建立一個Container來啟動Docker Image。
自己的Image自己做,立志當個Maker - Dockerfile
▶︎ 章節 7-1:Dockerfile 建立與使用 觀念解說▶︎ 章節 7-2:Dockerfile 情境式語法介紹 實作示範 FROM▶︎ 章節 7-3:Dockerfile 情境式語法介紹 實作示範 ENTRYPOINT▶︎ 章節 7-4:Dockerfile 情境式語法介紹 實作示範 RUN▶︎ 章節 7-5:Dockerfile 情境式語法介紹 實作示範 ENV▶︎ 章節 7-6:Dockerfile 情境式語法介紹 實作示範 WORKDIR▶︎ 章節 7-7:Dockerfile 情境式語法介紹 實作示範 ARG▶︎ 章節 7-8:Dockerfile 情境式語法介紹 實作示範 COPY▶︎ 作業 1 - Dockerfile 情境式語法介紹 作業演練DockerFile 是使用 Docker 的基底,它是我們定義部署邏輯的設定檔。因此,熟悉重要 DockerFile 語法是學習 Docker 的必備技能之一,重要指令包含 FROM、COPY 等。此單元中,我們也將要求學員們繳交 DockerFile 作業,讓學員們能親手撰寫 DockerFile 提升熟練度。
這個單元將讓你從Image使用者,變成Docker Image創造者,甚至能放上Docker Hub分享給全世界的開發者使用,影響潛力無窮。
紅燈停,綠燈行- Docker Network
▶︎ 章節 8-1:Docker 網路模式介紹 觀念解說▶︎ 章節 8-2:Docker 網路模式介紹 實作示範 None▶︎ 章節 8-3:Docker 網路模式介紹 實作示範 Bridge▶︎ 章節 8-4:Docker 網路模式介紹 實作示範 Container▶︎ 章節 8-5:Docker 網路模式介紹 實作示範 HostDocker 擁有多種網路模式,包含None、Bridge、Container以及Host。不同的模式代表著 Docker Container 與本地主機溝通的方式與權限的差別。選擇正確的網路模式,不僅能簡化部署程序、也能同時提高網路安全,是了解 Docker 的重要章節之一。
留下來,或我跟你走 - Docker Volume
▶︎ 章節 9-1:建立與使用Docker Volume 觀念解說▶︎ 章節 9-2:建立與使用Docker Volume 實作示範在一般使用中,隨著Container的消失,裡面的資料也會不見。
為了讓我們的資料能保存起來,我們利用Volume來讓Container內的檔案永久留存。此方面的應用,特別適合在資料庫的情境下使用,讓我們將使用者資料保存著,而不受Container生命週期影響。
住海邊的大管家 - Docker Compose
▶︎ 章節 10-1:建立與使用Docker Compose 觀念解說▶︎ 章節 10-2:建立與使用Docker Compose 實作示範 Services▶︎ 章節 10-3:建立與使用Docker Compose 實作示範 Networks▶︎ 章節 10-4:建立與使用Docker Compose 實作示範 Volumes隨著我們學了越來越多Docker生態系中的資源,包含Container、Network、Volume等,我們需要一個統整的地方來協助我們管理這些資源。
Docker Compose擔任起大管家的身份,讓我們能在同一個設定檔中,規範並協調各種資源的建立與互動,是個非常好用的工具。
轟隆隆~戰場上的 Docker
▶︎ 章節 11-1:三大功用-簡化專案佈版流程 觀念解說▶︎ 章節 11-2:三大功用-簡化專案佈版流程 實作示範▶︎ 章節 11-3:三大功用-建立乾淨測試環境 實作示範▶︎ 章節 11-4:三大功用-實作跨平台專案部署 實作示範擁有 Docker 觀念與基礎實作經驗後,我們會透過多個不同的 Docker 專案,來了解不同實際情境下,我們是如何運用 Docker 來改善開發與上版效率。此外,我們也將詳細分析各個 DockerFile 的指令使用,深化學員實務上 DockerFile 的撰寫經驗。
這邊我們呼應最一開始所介紹的Docker三大功用,透過最貼近實務上的三層式開發架構(前端-後端-資料庫),幫學員第一手體會到,如何在工作上實務運用Docker技術。
真・影分身之術 - 規模化部署
▶︎ 章節 12-1:Docker規模化部署 (以Docker Swarm為例) 觀念解說▶︎ 章節 12-2:Docker規模化部署 方案比較 Docker Swarm vs GKE vs ECS 觀念解說▶︎ 章節 12-3:Docker規模化部署 Google Kubernetes Engine入門銜接 實作示範Docker Swarm 是 Docker 體系下管理規模化部署的技術,而隨著近年來雲端服務興起,各大公司皆推出相容 Docker 容器技術的雲端服務,包含 Google Kubernetes Engine 以及 AWS Elastic Container Service,儘管各自有不同的實作方式,但他們都共享著同樣的規模化設計觀念。掌握各大產品的優缺點,我們就能準確判斷適合自身團隊的 Docker 雲服務。
此單元中,我們將詳列此三者的差異以及各自的優缺點。完成後,學員們將能對此三種方案做初步的判斷,並挑選適合自己團隊開發的框架。最後,我們也將對市佔率最高的Google Kubernetes Engine做實作示範,讓學員們了解規模化部署的應用情景。
What's Next?
▶︎ 章節 12-4:課程總結 & What's next最後,老師將跟大家分享,在修習完此課程之後,學員們能繼續往哪些方向專研容器化技術。此外,為了讓本課程跟上技術更迭,老師將會持續在本單元敘述區放上更新教材,幫助學員們跟上Docker的技術潮流。
「用圖片高效學程式」臉書專頁:專頁連結
「用圖片高效學程式」Youtube頻道:講師頻道頁面
- 教學影片(69,000+觀看次數):Docker 基本架構概念教學
Cloud Taiwan 版主:Cloud Taiwan - GCP x AWS x Azure
課程的教學呈現方式?
➤ 螢幕側錄操作畫面搭配講解➤ 每個章節皆有一張大架構圖講解整體概念➤ 章節單元進行為先觀念講解,後實作範例請問講師的作業設計方式?
➤ 學員作業將以上傳的指令列與 DockerFile 檔案做批改依據請問講師的回覆頻率?
➤ 學員問題將於一週內回覆➤ 學員作業將於兩週內批改