透過自己的雙手,掌握那不變的容器技術核心——《Docker 實戰 6 堂課》推薦序

我在 2015 年~2017 年間,開了 8 次【Docker 建置實戰講堂】一日課程。在那個大眾對於 Docker 還矇矇懂懂的年代,我就堅持不用貌似較簡便的 Docker Desktop,而是大膽採用 Vagrant + VirtualBox 作為統一的授課環境,讓學員儘早習慣在 Linux 平台上探索 Docker 的底層與應用。

所以,當我在 2022 年 iThome 鐵人賽看到小賴的參賽作品【那些關於 docker 你知道與不知道的事】中,是以 AWS EC2 的 Ubuntu instance 作為實作環境,現在更出版新書《Docker 實戰 6 堂課:56 個實驗動手做,掌握 Linux 容器核心技術》,就非常高興。畢竟,從最擬真的角度切入,才能夠透過自己的雙手,掌握那不變的容器技術核心。

《Docker 實戰 6 堂課:56 個實驗動手做,掌握 Linux 容器核心技術》

《Docker 實戰 6 堂課:56 個實驗動手做,掌握 Linux 容器核心技術》

Coursera 上面的 GCP 課程

為了在公司內推動 GCP 認證考試,必須先推動大家勤修 GCP 課程;為了推動大家勤修 GCP 課程,我得先帶頭示範。因此,我最近在 Coursera 修了許多 GCP 認證考試相關課程 1,感觸很深:就算不考照,用這些課程補完一些知識,還是很值得的。

這些課程深度與廣度兼具,又有搭配實作演習,有系統地吸收,會比雜亂搜尋文件的碎片化學習來得踏實。

即使以俗氣的 C/P 值角度來說,這些課程也是物超所值的。像以下這門放在 Coursera 的課:

大家知道嗎?這樣的課,用同樣的 Google 原廠教材,改用國語發音 live 授課,在外頭可是喊價超過一萬元新台幣的。

我根據自己這些日子勤修課程的小經驗,推薦幾門有廣度有深度的課,讓想要對雲端環境有更廣更深認識的人參考。我大致將這些課程分類如下:

  • 非技術的通識類
  • GCP 技術:共通核心
  • GCP 技術:K8s
  • Dev
  • DevOps & SRE
  • ML & Big Data

Distroless Image 牛刀小試

距離上次重度探討「極簡化容器」已經快六年多了1。這議題,以前可能只是某些人技術上的興趣,現在則可能是必要。

原因是:Docker Inc 的一些措施,讓人不得不慎重考慮替代方案。

搬家的必要

這陣子容器世界起了不少變化,除了眾所周知的「Docker Desktop 要收費了」規定 2,另一個較少被提及影響是 Docker Hub 的緊縮政策:

  • Image CI 緊縮:Docker Hub 取消免費用戶的 automated builds 功能。 3
  • Image pull 緊縮:Docker Hub 開始對未付費者施以較嚴格的限流措施。 4

於是,未付費的人,不僅在使用 Docker Hub 時會受到管制,還會波及產製 image 的 CI pipeline,不時會遇到這樣的 “toomanyrequests” 限流警告:

WSL Image 匯出與匯入

經過一番辛苦調教,總算把 WSL 調整成可推廣到團隊使用的地步。下一步就是要輸出成 WSL 公版。

謹以此文記錄匯出與匯入 WSL 映像檔的步驟與除雷經驗。

用 Podman 執行 Laravel + Sail

從 Docker Desktop 換到 Podman 1 ,開始需要處理某些相容性問題。有些問題不見得是 Podman 的錯,但既然遇到了,就順手記錄一下除雷經驗。

此文記錄一下在 Podman 執行 Laravel 9 欽定開發環境 Sail 的步驟。