Docker實戰6堂課:56個實驗動手做, 掌握Linux容器核心技術
點閱:13其他題名:Docker實戰六堂課 56個實驗動手做, 掌握Linux容器核心技術 56個實驗動手做掌握Linux容器核心技術 五十六個實驗動手做掌握Linux容器核心技術
作者:賴怡玲(小賴)著
出版年:2023
出版社:博碩文化
出版地:臺北市
集叢名:iThome鐵人賽
格式:EPUB 版式
頁數:338
ISBN:9786263335769
EISBN:9786263336575 EPUB; 9786263336568 PDF
分類:資管網通  
掌握容器原理,除錯更快速!
跟著實驗操作,帶你告別一知半解,深入了解 Container!
本書內容改編自第 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 相關知識,鞏固作業系統與網路的基本功,提升問題排查的能力,累積往下探索的基礎,讓未來的你也能自己動手挖掘底層技術。
四大重點
▶ 打穩基礎
層層介紹 Docker 元素,清楚掌握底層原理
▶ 由淺入深
從環境建置到容器化,快速部署非難事
▶ 動手做範例
每章範例動手玩,加深理論與實力
▶ 大量圖文解說
白話文+圖解說明,讓你不再似懂非懂
目標讀者
● 想學習 Docker 或容器化技術
● 會 Docker 的基本操作,但對於原理好像似懂非懂,想要深入學習
● 想學習更多 Linux,卻不知道該從哪裡開始
● 喜歡親自動手驗證的工程師
● 想從 Junior 晉升到 Senior 的工程師
下載範例程式檔案
本書提供範例程式檔案,以及安裝 Docker 教學說明:github.com/azole/docker-ironman-2022
專業推薦
「無論你是初學者,還是已有一定基礎的工程師,這本書都會是你最好的指南和夥伴。讓我們一起跟隨這位經驗豐富的導師,從「會用」進階到「知道」,探索技術的深邃海洋。」──── Shirney │ AppWorks School 校長
「容器生態圈蓬勃發展,我們更需要小賴這本書,帶我們透過自己的雙手掌握那不變的容器技術核心。」──── 葉秉哲(William Yeh) │ 敏捷魔藥師
「小賴以深入淺出的方式,帶領讀者進一步探討這些技術。她用生動的文字和清晰的例子,讓你不僅能操作 Docker,而是能夠洞悉其本質。這不僅能讓你在開發過程中更加得心應手,更讓讀者之後對 container 相關技術 debug 的過程變得更加順暢。」──── 顏永富(泳褲) │ Laravel 台灣 / DevOps Taiwan 社群老志工 / 全端工程師
跟著實驗操作,帶你告別一知半解,深入了解 Container!
本書內容改編自第 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 相關知識,鞏固作業系統與網路的基本功,提升問題排查的能力,累積往下探索的基礎,讓未來的你也能自己動手挖掘底層技術。
四大重點
▶ 打穩基礎
層層介紹 Docker 元素,清楚掌握底層原理
▶ 由淺入深
從環境建置到容器化,快速部署非難事
▶ 動手做範例
每章範例動手玩,加深理論與實力
▶ 大量圖文解說
白話文+圖解說明,讓你不再似懂非懂
目標讀者
● 想學習 Docker 或容器化技術
● 會 Docker 的基本操作,但對於原理好像似懂非懂,想要深入學習
● 想學習更多 Linux,卻不知道該從哪裡開始
● 喜歡親自動手驗證的工程師
● 想從 Junior 晉升到 Senior 的工程師
下載範例程式檔案
本書提供範例程式檔案,以及安裝 Docker 教學說明:github.com/azole/docker-ironman-2022
專業推薦
「無論你是初學者,還是已有一定基礎的工程師,這本書都會是你最好的指南和夥伴。讓我們一起跟隨這位經驗豐富的導師,從「會用」進階到「知道」,探索技術的深邃海洋。」──── Shirney │ AppWorks School 校長
「容器生態圈蓬勃發展,我們更需要小賴這本書,帶我們透過自己的雙手掌握那不變的容器技術核心。」──── 葉秉哲(William Yeh) │ 敏捷魔藥師
「小賴以深入淺出的方式,帶領讀者進一步探討這些技術。她用生動的文字和清晰的例子,讓你不僅能操作 Docker,而是能夠洞悉其本質。這不僅能讓你在開發過程中更加得心應手,更讓讀者之後對 container 相關技術 debug 的過程變得更加順暢。」──── 顏永富(泳褲) │ Laravel 台灣 / DevOps Taiwan 社群老志工 / 全端工程師
作者簡介
作者簡介
賴怡玲(小賴)
工作經驗約 20 年, 從工程師當到技術主管, 待過大、小公司,從金融業到各種新創,台商、外商都有經驗,也自己設立公司過。略懂前端,主要在後端與維運部署,接案時從業務、專案管理、技術團隊管理、前後端開發、部署維運到售後客服無所不包,業界俗稱的一條龍工程師。擅長從兵荒馬亂、資源有限的團隊中做出一些東西,喜歡容器技術、AWS。
擔任過 Laravel Conf、WebConf Taiwan 等議程講者,分享 Serverless 與 Docker 等主題。目前在 AppWorks School 擔任後端班導師,陪伴想要加入軟體開發領域的學員們成長。
【iThome 鐵人賽獲獎】
2022 DevOps 組冠軍:《那些關於 Docker 你知道與不知道的事》
賴怡玲(小賴)
工作經驗約 20 年, 從工程師當到技術主管, 待過大、小公司,從金融業到各種新創,台商、外商都有經驗,也自己設立公司過。略懂前端,主要在後端與維運部署,接案時從業務、專案管理、技術團隊管理、前後端開發、部署維運到售後客服無所不包,業界俗稱的一條龍工程師。擅長從兵荒馬亂、資源有限的團隊中做出一些東西,喜歡容器技術、AWS。
擔任過 Laravel Conf、WebConf Taiwan 等議程講者,分享 Serverless 與 Docker 等主題。目前在 AppWorks School 擔任後端班導師,陪伴想要加入軟體開發領域的學員們成長。
【iThome 鐵人賽獲獎】
2022 DevOps 組冠軍:《那些關於 Docker 你知道與不知道的事》
章節
- 致謝
- 推薦序
- 作者序
- 前言
- 第 1 章 實驗環境準備
- 1.1 實驗環境
- 1.2 安裝步驟
- 1.3 實驗環境說明
- 第 2 章 建立Container
- 2.1 建立Container
- 2.2 查無此人的process
- 2.3 其他Docker container指令
- 第 3 章 Docker Image
- 3.1 Docker Image初探
- 3.2 什麼是Image Layer?
- 3.3 來玩一下Docker Image Layer
- 3.4 Docker Image實驗解惑 - OverlayFS
- 3.5 什麼是copy-on-write跟whiteout?
- 3.6 所以,到底什麼是Docker Image呢?
- 第 4 章 命名空間(Namespaces)
- 4.1 什麼是Namespaces?
- 4.2 PID Namespace
- 4.3 用clone來建立新的PID namespace
- 4.4 Mount Namespace的坑
- 4.5 Container與Namespaces
- 4.6 前景與背景
- 4.7 要怎麼「進入」container裡呢?
- 第 5 章 Linux中的Process
- 5.1 認識Process
- 5.2 Process的族譜
- 5.3 殭屍(zombie)與孤兒(orphan)
- 5.4 Container中PID 1 process的parent是誰呢?
- 5.5 Container中的PID 1 process會負起init process的責任嗎?
- 5.6 不負責任的PID 1 process
- 5.7 Linux中的訊號(signal)
- 5.8 signal & kill指令
- 5.9 signal與container
- 5.10 Ubuntu中的/bin/sh怎麼了?
- 5.11 PID 1的process能被殺掉嗎?
- 第 6 章 Container的網路世界
- 6.1 Container怎麼跟別人溝通的?
- 6.2 什麼是veth pair?
- 6.3 來過橋吧!
- 6.4 能成功出海嗎?
- 6.5 為什麼出不了國呢?
- 6.6 讓我們出國去!
- 6.7 解封國境