{"id":15518602,"url":"https://github.com/azole/docker-ironman-2022","last_synced_at":"2025-08-24T21:09:02.824Z","repository":{"id":184759792,"uuid":"668629791","full_name":"azole/docker-ironman-2022","owner":"azole","description":"《Docker 實戰 6堂課：56個實驗動手做，掌握 Linux 容器核心技術》中的實驗程式碼","archived":false,"fork":false,"pushed_at":"2024-07-09T05:37:01.000Z","size":6659,"stargazers_count":65,"open_issues_count":0,"forks_count":19,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-30T01:05:47.841Z","etag":null,"topics":["container","docker","lab","linux"],"latest_commit_sha":null,"homepage":"https://www.tenlong.com.tw/products/9786263335769","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azole.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-20T08:52:35.000Z","updated_at":"2025-03-28T14:36:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"167c9042-4290-4a8a-9a01-00f6e71376a2","html_url":"https://github.com/azole/docker-ironman-2022","commit_stats":{"total_commits":62,"total_committers":1,"mean_commits":62.0,"dds":0.0,"last_synced_commit":"57c94b2abbeaaab5eddc4ddb640495fc4d99e860"},"previous_names":["azole/docker-ironman-2022"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azole%2Fdocker-ironman-2022","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azole%2Fdocker-ironman-2022/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azole%2Fdocker-ironman-2022/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azole%2Fdocker-ironman-2022/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azole","download_url":"https://codeload.github.com/azole/docker-ironman-2022/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250458734,"owners_count":21433930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","docker","lab","linux"],"created_at":"2024-10-02T10:18:42.356Z","updated_at":"2025-04-23T15:25:25.937Z","avatar_url":"https://github.com/azole.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-ironman-2022\n\n書籍連結：\n\n- [Docker 實戰 6 堂課：56 個實驗動手做，掌握 Linux 容器核心技術(軟精裝)](https://www.tenlong.com.tw/products/9786263335769) -\u003e 要絕版了喔\n- [Docker 實戰 6 堂課：56 個實驗動手做，掌握 Linux 容器核心技術(平裝)](https://www.tenlong.com.tw/products/9786263336131)\n\n本書內容改編自第 14 屆 iThome 鐵人賽 DevOps 組的冠軍系列文章《那些關於 Docker 你知道與不知道的事》。本書從啟動 Docker Container 開始，探索 Docker 的底層設計，進而學習 Linux 容器技術及其相關的 Linux 知識，包括 Namespace、Process 與網路等，同時也提供各種動手做實驗，讓你親手驗證讀到的理論與技術。\n\n書中將探討五大主題：\n\n1. Docker Container\n2. Docker Image\n3. Linux Namespace\n4. Linux Process 及其與 Docker Container 的關係\n5. Container 與 Linux 的網路世界\n\n全書提供 56 個動手做實驗，讓讀者能親自驗證學習到的理論，從「會用」進階到「知道」，讓 Docker 容器不再神秘，讓讀者不再心虛。讀者除了能熟悉 Docker，也能同時學習 Linux 相關知識，鞏固作業系統與網路的基本功，提升問題排查的能力，累積往下探索的基礎，讓未來的你也能自己動手挖掘底層技術。\n\n## 初衷\n\n透過參加鐵人賽與完成這本書，自己也學到了很多關於 Linux 的知識，設計了很多實驗去驗證自己的理解與觀察，或是從這些實驗的結果去找尋答案。\n\n當初想要寫這樣的內容，是因為自己對 Docker 很有興趣，但市面上已經有很多很棒的 Docker 教學與實戰分享了，我問我自己，我還想讀些什麼呢？我的答案是，我會想要知道更底層的東西，想要知道這些好用的功能背後是怎麼做到的，我也想要更知道 Linux 一些，於是就給自己出了一個這樣的題目，過程中差點後悔，真的是有超過自己原本的能力 😂，但還好沒有放棄。\n\n所以，這的確不是一本初階的書籍，是我嘗試要讓自己更進階一點點的努力，想要跟大家一起變得再厲害一點點的心意，再請大家多多指教了。\n\n## 範例程式目錄\n\n- [chapter 4: 第 4 張的範例程式](chapter4)\n- [chapter 5: 第 5 章的範例程式](chapter5)\n- [chapter 6: 第 6 章的範例程式](chapter6)\n\n## 附錄\n\n- [附錄 A: 怎麼安裝 Docker](A-how-to-install-docker.md)\n- [附錄 B: 怎麼啟動 AWS EC2 instance](B-how-to-launch-EC2.md)\n- [附錄 C: Dockerfile 基礎教學](C-Dockerfile-tutorial.md)\n\n## 推薦閱讀\n\n- [[WebConf2023] Docker 入門 101](https://azole.medium.com/webconf2023-docker-%E5%85%A5%E9%96%80-101-fae89170553a)\n- [Docker Container 基礎入門篇 1](https://azole.medium.com/docker-container-%E5%9F%BA%E7%A4%8E%E5%85%A5%E9%96%80%E7%AF%87-1-3cb8876f2b14)\n- [Docker Container 基礎入門篇 2](https://azole.medium.com/docker-container-%E5%9F%BA%E7%A4%8E%E5%85%A5%E9%96%80%E7%AF%87-2-c14d8f852ae4)\n\n## 二刷\n\n2023/09/15\n\n![image](/assets/book.jpg)\n\n謝謝所有支持與幫忙宣傳推薦的朋友，是你們讓這本書脫離了滯銷書的行列 🙏\n\n每次去天瓏買書，都會跟老闆聊上兩句，從大學到現在，二十幾年了，前幾天特地去天瓏找老闆，向他報告，我終於也有一本書在他的書架上了。\n\n天瓏老闆叮嚀我兩件事：\n\n1. 老闆特地帶我去書櫃前找到龍哥的《為你自己學 Git》，跟我說「每次要他改版，他都說沒有新內容不改版」，要我跟龍哥學習，要愛惜羽毛，不要輕易改版，有真的有對讀者有用的內容才可以。\n\n2. 老闆跟我說，買你書的人，不一定是因為這本書的內容，很有可能是因為你，因為支持你才買的，要珍惜這個 community。\n\n老闆你好懂，我也這樣覺得，博碩的 Abby 通知我要二刷了，但我心裡想，我朋友好像都人手一本了，二刷要賣給誰呢？😅\n\n二刷是平裝本，這次也學到，原來從軟精裝改成平裝本會是一本「新」的書，而之後，如果還能有再刷，就都是平裝本了，也就是第一刷的精裝本賣完後就沒有了、絕版了。平裝版定價會比較低，但精裝品質很好而且要絕版了，大家自行評估了。\n\n感謝大家支持 🙇，我認真地來幫我自己寫個推薦（所以之前是...?）：\n\n不曉得大家會不會這樣，如果讀到的東西無法親眼看到或親手驗證就會覺得虛虛地，好像就只是「被告知」了這件事，而不是自己真的懂了。而我很幸運地，在 2015 年剛接觸 Docker 沒多久，就去上了 William 的課，受到了啟發、「知道」了原來可以往下探索。而我也真的就是一個很平凡的傢伙，沒有特別聰明、沒有特別努力，就是平常有碰到、有讀到什麼資料的時候，有時間的話，就去試著想辦法設計實驗去驗證看看那些讀到的東西，有時候完全不知道怎麼開始，有時候實驗本身是錯的，有時候則是實驗結果跟我的理解完全不同，不論對錯，這過程學到的東西遠遠大於我原本的預期。在有了一些實驗驗證後，這個實驗過程中觀察到的、超過我原本預期的結果，再繼續去研究，那又會是新一輪實驗的靈感了。\n\n就這樣玩了好幾年，因為就是偶爾有方向的時候研究一下，累積的很慢，但過程好玩，好玩很重要，每一次不管結果如何，我真的很喜歡那種「知道更多了」的感覺，即便我不知道那有什麼用，我總相信哪一天也許就用上了。（還可以拿來寫鐵人賽，倒數開賽日，要參加的快喔！）\n\n有一些朋友問我這本書適不適合初階，由於我自己也不是很厲害，所以我盡可能從「我原本也不會，但想要試試看自己設計實驗、往下挖掘該怎麼做」的角度去撰寫這一系列的文章，我原本也真的不會，所以就是讓自己回到一開始的樣子去記錄這些學習的過程。但實驗的過程與內容，的確又比單純使用角度多了那麽一點點，然後可能也不是你平常工作立即可以用上的，所以我不太知道該怎麼定位這本書是否初階。\n\n不過我提供一個角度給大家思考看看，我自己去上課或參加讀書會的時候，除了課程本身的內容外，我會習慣性地去觀察講者怎麼組織一個知識、怎麼切入一個問題、怎麼看待一件事情，然後把這些觀察到的技巧運用到我能運用的地方。所以，如果你有自己想要嘗試探索的領域，但不知道怎麼開始，我推薦可以參考看看這本書，也許可以提供給你一些靈感。再往前一步，如果你跟當初的我一樣，不知道什麼是往下探索，那我也想請你翻翻這本書。最終，也許不一定是 Docker 或是 Linux，如果有朋友能夠因為這本書有了一點點啟發，將深挖與實驗的精神帶到自己有興趣的技術與領域，那我真的會覺得很開心！\n\n我自己目前在從事教學工作，這真的是一份很棒的工作，很多時候你會發現，大家不是不想、不是不願意，而是不知道可以這樣做，或是想要做但不知道怎麼開始，我只需要展示一個方向、一個可能性就可以了，學員們就會自己走出自己的一條康莊大道，往往都比我還要優秀，那個時候就換我從他們身上學習。所以我常說導師工作就是個點火師，而這系列的文章、這本書，我想試著把這把火點到我教學場域以外的地方。\n\n希望這本書是大家的地板，不是天花板，你不一定要參考這本書，這本書的內容或方式也不一定是最好的。我們都很棒，所以開始動手做吧，動手累積屬於你自己的知識體系。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazole%2Fdocker-ironman-2022","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazole%2Fdocker-ironman-2022","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazole%2Fdocker-ironman-2022/lists"}