Skip to content

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

Notifications You must be signed in to change notification settings

azole/docker-ironman-2022

Repository files navigation

docker-ironman-2022

書籍連結:

本書內容改編自第 14 屆 iThome 鐵人賽 DevOps 組的冠軍系列文章《那些關於 Docker 你知道與不知道的事》。本書從啟動 Docker Container 開始,探索 Docker 的底層設計,進而學習 Linux 容器技術及其相關的 Linux 知識,包括 Namespace、Process 與網路等,同時也提供各種動手做實驗,讓你親手驗證讀到的理論與技術。

書中將探討五大主題:

  1. Docker Container
  2. Docker Image
  3. Linux Namespace
  4. Linux Process 及其與 Docker Container 的關係
  5. Container 與 Linux 的網路世界

全書提供 56 個動手做實驗,讓讀者能親自驗證學習到的理論,從「會用」進階到「知道」,讓 Docker 容器不再神秘,讓讀者不再心虛。讀者除了能熟悉 Docker,也能同時學習 Linux 相關知識,鞏固作業系統與網路的基本功,提升問題排查的能力,累積往下探索的基礎,讓未來的你也能自己動手挖掘底層技術。

初衷

透過參加鐵人賽與完成這本書,自己也學到了很多關於 Linux 的知識,設計了很多實驗去驗證自己的理解與觀察,或是從這些實驗的結果去找尋答案。

當初想要寫這樣的內容,是因為自己對 Docker 很有興趣,但市面上已經有很多很棒的 Docker 教學與實戰分享了,我問我自己,我還想讀些什麼呢?我的答案是,我會想要知道更底層的東西,想要知道這些好用的功能背後是怎麼做到的,我也想要更知道 Linux 一些,於是就給自己出了一個這樣的題目,過程中差點後悔,真的是有超過自己原本的能力 😂,但還好沒有放棄。

所以,這的確不是一本初階的書籍,是我嘗試要讓自己更進階一點點的努力,想要跟大家一起變得再厲害一點點的心意,再請大家多多指教了。

範例程式目錄

附錄

推薦閱讀

二刷

2023/09/15

image

謝謝所有支持與幫忙宣傳推薦的朋友,是你們讓這本書脫離了滯銷書的行列 🙏

每次去天瓏買書,都會跟老闆聊上兩句,從大學到現在,二十幾年了,前幾天特地去天瓏找老闆,向他報告,我終於也有一本書在他的書架上了。

天瓏老闆叮嚀我兩件事:

  1. 老闆特地帶我去書櫃前找到龍哥的《為你自己學 Git》,跟我說「每次要他改版,他都說沒有新內容不改版」,要我跟龍哥學習,要愛惜羽毛,不要輕易改版,有真的有對讀者有用的內容才可以。

  2. 老闆跟我說,買你書的人,不一定是因為這本書的內容,很有可能是因為你,因為支持你才買的,要珍惜這個 community。

老闆你好懂,我也這樣覺得,博碩的 Abby 通知我要二刷了,但我心裡想,我朋友好像都人手一本了,二刷要賣給誰呢?😅

二刷是平裝本,這次也學到,原來從軟精裝改成平裝本會是一本「新」的書,而之後,如果還能有再刷,就都是平裝本了,也就是第一刷的精裝本賣完後就沒有了、絕版了。平裝版定價會比較低,但精裝品質很好而且要絕版了,大家自行評估了。

感謝大家支持 🙇,我認真地來幫我自己寫個推薦(所以之前是...?):

不曉得大家會不會這樣,如果讀到的東西無法親眼看到或親手驗證就會覺得虛虛地,好像就只是「被告知」了這件事,而不是自己真的懂了。而我很幸運地,在 2015 年剛接觸 Docker 沒多久,就去上了 William 的課,受到了啟發、「知道」了原來可以往下探索。而我也真的就是一個很平凡的傢伙,沒有特別聰明、沒有特別努力,就是平常有碰到、有讀到什麼資料的時候,有時間的話,就去試著想辦法設計實驗去驗證看看那些讀到的東西,有時候完全不知道怎麼開始,有時候實驗本身是錯的,有時候則是實驗結果跟我的理解完全不同,不論對錯,這過程學到的東西遠遠大於我原本的預期。在有了一些實驗驗證後,這個實驗過程中觀察到的、超過我原本預期的結果,再繼續去研究,那又會是新一輪實驗的靈感了。

就這樣玩了好幾年,因為就是偶爾有方向的時候研究一下,累積的很慢,但過程好玩,好玩很重要,每一次不管結果如何,我真的很喜歡那種「知道更多了」的感覺,即便我不知道那有什麼用,我總相信哪一天也許就用上了。(還可以拿來寫鐵人賽,倒數開賽日,要參加的快喔!)

有一些朋友問我這本書適不適合初階,由於我自己也不是很厲害,所以我盡可能從「我原本也不會,但想要試試看自己設計實驗、往下挖掘該怎麼做」的角度去撰寫這一系列的文章,我原本也真的不會,所以就是讓自己回到一開始的樣子去記錄這些學習的過程。但實驗的過程與內容,的確又比單純使用角度多了那麽一點點,然後可能也不是你平常工作立即可以用上的,所以我不太知道該怎麼定位這本書是否初階。

不過我提供一個角度給大家思考看看,我自己去上課或參加讀書會的時候,除了課程本身的內容外,我會習慣性地去觀察講者怎麼組織一個知識、怎麼切入一個問題、怎麼看待一件事情,然後把這些觀察到的技巧運用到我能運用的地方。所以,如果你有自己想要嘗試探索的領域,但不知道怎麼開始,我推薦可以參考看看這本書,也許可以提供給你一些靈感。再往前一步,如果你跟當初的我一樣,不知道什麼是往下探索,那我也想請你翻翻這本書。最終,也許不一定是 Docker 或是 Linux,如果有朋友能夠因為這本書有了一點點啟發,將深挖與實驗的精神帶到自己有興趣的技術與領域,那我真的會覺得很開心!

我自己目前在從事教學工作,這真的是一份很棒的工作,很多時候你會發現,大家不是不想、不是不願意,而是不知道可以這樣做,或是想要做但不知道怎麼開始,我只需要展示一個方向、一個可能性就可以了,學員們就會自己走出自己的一條康莊大道,往往都比我還要優秀,那個時候就換我從他們身上學習。所以我常說導師工作就是個點火師,而這系列的文章、這本書,我想試著把這把火點到我教學場域以外的地方。

希望這本書是大家的地板,不是天花板,你不一定要參考這本書,這本書的內容或方式也不一定是最好的。我們都很棒,所以開始動手做吧,動手累積屬於你自己的知識體系。

About

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

Topics

Resources

Stars

Watchers

Forks