Docker 容器應用實戰
4.8 (2 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
51 students enrolled

Docker 容器應用實戰

通過課程學習 Docker 相關基礎指令及搭配各種語言 (PHP, Golang, Node.js) 進行開發部署維運
4.8 (2 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
51 students enrolled
Created by Bo-Yi Wu
Last updated 8/2020
Traditional Chinese
Price: $59.99
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Docker 基礎介紹
  • Docker 容器應用介紹
  • Docker 實戰部署
Course content
Expand all 15 lectures 03:18:24
+ Docker 部署架構實戰
9 lectures 02:05:52
用 GitHub Actions 部署 Go 語言服務 (全 Docker 部署)
19:15
Docker 在 CI/CD 流程內使用 cache-from 機制提升編譯速度
10:22

上一篇作者有提到『什麼是 graceful shutdown?』,本篇透過 docker-compose 方式來驗證 Go 語言的 graceful shutdown 是否可以正常運作。除了驗證之外,單機版 Docker 本身就可以設定 scale 容器數量,那這時候又該如何搭配 graceful shutdown 來實現 rolling update 呢?相信大家對於 rolling update 並不陌生,現在的 Kubernetes 已經有實現這個功能,用簡單的指令就可以達到此需求,但是對於沒有在用 k8s 架構的開發者,可能網站也不大,那該如何透過單機本的 docker 來實現呢?

[Go 語言實戰] docker-compose 實現 rolling update
14:22
Flutter 使用 Docker 搭配 Drone 自動測試
04:54

去年 GitHub 推出 Actions,就有不少開發者相繼把 CI/CD 流程內會使用到的 Plugin 都丟到 Marktetplace,而在這 Docker 容器時代,肯定是需要用自動化上傳容器到 Docker Registry,而官方也在上週正式釋出第一版 GitHub Actions,雖然在 Marktet 尚有不少開發者已經有實現了此功能,但是官方既然推出了,就採用官方的套件會比較適合。底下我們來看看如何使用 Docker 推出的 GitHub Aciton 來自動化上傳 Docker Image。除了介紹如何使用 GitHub Action 上傳 Image 外,我也會拿 Drone 的 Docker Plugin 來進行比較。

Docker 推出官方 GitHub Actions 套件 vs Drone CI 上傳 Docker Image
09:47

最近正打算使用 GitHub Actions 來串接 AWS 服務 (ECR + ECS),上網找了一堆 ECR 套件,發現就連 AWS 官方都只有實作 Login 進 ECR,後面編譯跟上傳動作就需要自己寫。覺得蠻神奇的是為什麼不把 Plugin 寫更完整些,讓使用者不用再執行 docker 指令,所以我直接把 Drone 官方套件直接改寫支援 GitHub Actions 服務,詳細的操作文件可以參考這邊

如何透過 GitHub Actions 上傳 Docker Image 到 AWS ECR
14:31

之前就有看到 Docker 推出 BuildKit 功能,這次跟大家介紹什麼是 BuildKit。現在部署編譯流程肯定都會用到 Docker,不管測試及部署都盡量在 Docker 內實現,來做到環境隔離,但是要怎麼縮短 Docker 在編譯 Image 時間,這又是另外的議題,本篇跟大家介紹一個實驗性的功能就是 BuildKit,原始碼可以參考這邊,希望未來這實驗性的功能可以正式納入 Docker 官方,網路上其實可以找到很多方式來做 Docker Layer 的 Cache,我個人最常用的就是 --cache-from 機制,可以適用在任何 CI/CD 流程,詳細說明可以參考這篇『在 docker-in-docker 環境中使用 cache-from 提升編譯速度』,下面使用到的程式碼都可以直接參考此 Repository,我還是使用 Go 語言當作參考範例。

透過 Docker BuildKit 降低編譯 Image 時間,加速 CI/CD 流程
13:28
+ Docker 應用安裝實戰
6 lectures 01:12:32

Gitea 是一套開源的 Git Hosting,除了 Gitea 之外,您可以選擇 GitHub 或自行安裝 GitLab,但是我為什麼選擇 Gitea 呢?原因有底下幾點


1. Gitea 是開源專案,全世界的開發者都可以進行貢獻

2. Gitea 是 Go 語言所開發,啟動速度超快

3. Gitea 開源社區非常完整,每年固定挑選三位為主要負責人

4. Gitea 可以使用執行檔或 Docker 方式進行安裝


本影片會透過 Docker 方式教大家如何快速將 Gitea 安裝在 Ubuntu 環境。安裝時間真不用五分鐘,對於熟悉 Docker 的開發者,可能不用幾分鐘就安裝完成。



Preview 13:12
使用 docker-compose 安裝 Traefik v1.7 搭配 Let's Encrypt 憑證服務
10:26
Traefik v1.7 + Drone v1.0 快速整合 GitHub 服務
08:51
使用 Multiple Stage 讀取 Go Private Module 流程
13:45

以現在開發網站流程,前後端分離已經不稀奇了。前端使用 React.js 或 Vue.js,後端使用 Golang,是我現在擅長的合作模式。其實後端在開發上面不太需要將前端的開發流程放在自己的電腦上,也就是後端只需要專注開發後端,跟前端的溝通都會是透過 GraphQL 的 Schema 當作討論。目前團隊各自維護專案的部署流程會是最好的方式,前端有兩種方式部署,一種是透過打包靜態檔案方式丟到遠端伺服器,另一種就是打包成 Docker Image,再連線到遠端伺服器更新,兩者都有人使用,本篇會教大家如何將前端網站打包成 Docker Image,用 Image 來部署會是最方便的。

如何將前端 App 打包成 Docker Image
11:08
Requirements
  • 基礎程式設計
Description

重要提醒:因此平台 Udemy 為境外公司,在 Udemy 的刷卡屬於境外刷卡,您的信用卡公司會另外向您收取大約 1.5% 的國外交易手續費。手續費根據各家信用卡公司規定有所不同,詳細數字需與您的發卡銀行確認。

課程介紹:

現在軟體工程師如果還不知道 Docker 就已經太落伍了,本課程著重在實戰上面的介紹。藉由實戰經驗來了解如何使用 Docker 容器技術,透過容器可以減少開發環境建置時間,除了開發環境,Docker 也可以協助快速建置雲端環境,您不用在主機上面從無到有建置 Node.js 或 PHP 等相關設定環境,大大減少維運或開發者建置時間,這些省下來的時間都可以拿來開發多少功能需求了。所以你還不會 Docker 嗎?現在各種求職平台或工作內容都會寫上 Docker 需求,雖然 Docker 容器技術不是必須,但是這都是加分條件,開發者會 Docker 真的會讓團隊戰力更加完整。現在就開始加入學習 Docker 實戰吧。

課程緣由:

在各種教學平台上已經有很多課程介紹 Docker 容器技術,很多 Docker 的基礎教學都非常完整,所以這門課程會著重在 Docker 實戰,藉由工作上會用到的 Docker 容器技術加以介紹,所以課程內容會相當廣泛,介紹各種不同的工具及平台來協助團隊在部署或架構面上更完整。像是底下一系列相關應用及部署技巧

  1. 用 docker-compose 快速安裝 Gitea (Git Host 最將選擇)

  2. 用 Docker 直接快速部署到 Heroku 平台

  3. 用 docker-compose 實現 rolling update 機制

  4. 用 Docker 搭配 GitHub Action 部署 Go 語言服務

  5. 用 Docker 快速建置 PHP Laravel 開發環境

  6. 介紹 docker 使用 cache from 機制加快 docker image 編譯

  7. 使用 Traefik 搭配容器服務

  8. 透過 Docker 也可以將 Flutter 自動化測試

未來預計還會有像是 Kubernetes 部署及建制,或者是 Prometheus + Grafana 系統效能監控等主題。

Who this course is for:
  • 程式發開工程師
  • DevOps 維運工程師