編輯推薦
Linux係統或雲環境上運行Docker的實用指南!
無論是在筆記本上還是在遠程雲上,Docker 都能夠改變創建、測試、部署和管理zui關鍵應用的方式。本書中,作者Christopher Negus 幫助讀者從頭開始掌握Docker 容器化技術。
開始的時候讀者能夠運行一些Ubuntu、Fedora、RHEL、CoreOS 或Project Atomic 的Docker 容器鏡像,看完本書之後,讀者就可以在現代Linux 和雲環境中部署企業級質量、多容器的Kubernetes。
本書是寫給係統管理員、軟件開發人員和技術狂熱者的,書中觸及瞭Docker 使用的方方麵麵:設置容器化應用,使用單個和多個容器,在雲環境中運行容器,以及開發容器。
書中通過桌麵應用、係統服務和遊戲等實際例子進行教學,指導讀者構建和部署自己的Docker 化應用。隨著經驗的充實,讀者還會學到不可或缺的Docker zuijia實踐,這些實踐用於構建和集成容器、進行日常的Docker 管理,以及以下幾個方麵:
● 理解Docker是什麼以及能用它來做什麼;
● 在標準Linux上安裝Docker,或者在Atomic Host和CoreOS這樣的容器專用操作係統上安裝Docker;
● 搭建容器運行環境和私有Docker registry;
● 創建、運行、探究Docker鏡像和容器;
● 查找、拉取、保存、加載和標記容器鏡像;
● 在本地係統和Docker registry之間拉取和推送容器;
● 將Docker容器與宿主機的網絡和存儲集成起來;
● 使用docker build命令和Dockerfile文件構建容器;
● 減少空間消耗並刪除不需要的容器;
● 從容器內訪問特定的宿主機權限;
● 通過Kubernetes將多個容器編排為復雜的應用;
● 在雲環境中使用超級特權容器;
● 使用Cockpit管理雲上的容器;
● 開始Docker容器開發;
● 通過共享的Dockerfile學習容器構建技巧。
內容簡介
Docker容器是Linux係統及雲環境上運行Docker的實用指南。書中全麵講解創建、運行、停止、啓動、保存和管理容器的具體方法,同時也涉及瞭多容器管理的主題。Docker容器內容分成5個部分。diyi部分開啓容器之旅,介紹開始使用Docker容器所需瞭解的知識;第二部分關注單個容器,主要介紹如何通過docker命令直接使用單個容器;第三部分主題是在雲環境上運行容器,描述如何運行超級特權容器(SPC),以及如何使用Cockpit在雲環境或者本地環境下跨多個宿主機管理容器;第四部分重點是管理多容器,探究容器的編排(利用Kubernates);第五部分專注於開發容器,描述一些開發Docker容器的建議和技巧,zui後通過展示一些Dockerfile文件闡述如何構建容器。
作者簡介
Christopher Negus寫瞭十多本關於Linux的書,包括暢銷書《Red Hat Linux Bible》和《Linux Bible》。他是Red Hat認證架構師(RHCA)以及RHCE認證教練和考官。作為Red Hat的員工,他獲得瞭RHCE和更高認證方麵的Linux專業訓練。目前,他是多個項目的主要作者,這些項目涉及Docker、Project Atomic、Kubernetes和OpenStack。
譯者簡介
任發科 網名常新居士,曾任職於***中國,從事SDE和SDM的工作。具有十餘年的企業軟件架構、開發和管理經驗,瞭解軟件研發與運營中各環節的工作,目前從事大數據分析工具以及DevOps工具鏈的研發,同時關注IT研發管理和團隊建設。
王東 畢業於天津大學,畢業後一直從事軟件相關研發和架構設計工作,曾在普元軟件任zishen架構師、在IBM GBS任谘詢經理、在***任架構師等,後加入創業公司,從事研發和管理工作;熱愛編程,喜歡鑽研新技術,對微服務、企業架構、大數據以及DevOps有濃厚的興趣。
目錄
目 錄
第一部分 開啓容器之旅
第1章 使用Docker對應用進行容器化 2
1.1 瞭解容器化應用的優缺點 2
1.1.1 容器化應用不是直接在宿主機上運行的應用 3
1.1.2 容器化應用不是直接在虛擬機上運行的應用 3
1.1.3 瞭解容器的優點 3
1.1.4 瞭解容器化應用麵臨的挑戰 4
1.2 瞭解容器的組成 5
1.2.1 Docker項目 5
1.2.2 Docker Hub Registry 6
1.2.3 Docker鏡像和容器 7
1.2.4 docker命令 7
1.3 探究容器 9
1.4 小結 10
第2章 搭建容器運行時環境 11
2.1 標準Linux係統的Docker配置 12
2.1.1 Ubuntu的Docker配置 12
2.1.2 Fedora的Docker配置 14
2.1.3 Red Hat Enterprise Linux的Docker配置 17
2.1.4 其他操作係統的Docker配置 19
2.2 容器式Linux係統的Docker配置 20
2.2.1 Atomic Host的Docker配置 21
2.2.2 CoreOS的Docker配置 23
2.3 小結 25
第3章 搭建私有Docker Registry 26
3.1 獲取和啓動私有Docker registry 27
3.1.1 在Fedora中搭建Docker registry 27
3.1.2 在Ubuntu中搭建Docker registry 30
3.2 配置私有Docker registry 32
3.2.1 配置docker-registry包 32
3.2.2 配置registry容器 35
3.3 瞭解Docker鏡像命名空間 35
3.4 小結 37
第二部分 玩轉單個容器
第4章 運行容器鏡像 40
4.1 以交互方式運行容器鏡像 42
4.1.1 啓動交互Bash shell 42
4.1.2 玩些基於字符的遊戲 44
4.1.3 在容器內運行管理命令 45
4.2 運行容器化服務 46
4.2.1 運行容器化Web服務器 46
4.2.2 在容器中運行服務時進行資源限製 48
4.3 運行特權容器 49
4.4 小結 50
第5章 查找、拉取、保存和裝載容器鏡像 51
5.1 搜索鏡像 51
5.1.1 用docker命令搜索鏡像 52
5.1.2 在Docker Hub上檢索鏡像 54
5.2 其他repository 55
5.3 從Registry拉取鏡像 57
5.4 保存和裝載鏡像 60
5.5 小結 61
第6章 為鏡像添加標簽 62
6.1 為鏡像分配名稱 63
6.2 為鏡像分配標簽 64
6.3 為鏡像分配repository名 65
6.3.1 為鏡像附加用戶名 65
6.3.2 為鏡像附加repository名 67
6.4 小結 68
第7章 探究容器 69
7.1 檢視鏡像和容器 69
7.2 檢視鏡像 70
7.2.1 用docker inspect檢視基礎鏡像 70
7.2.2 用docker inspect檢視應用程序鏡像 72
7.2.3 查看鏡像的曆史 73
7.3 檢視正在運行的容器 73
7.3.1 啓動要檢視的容器 73
7.3.2 檢視整個容器配置 74
7.3.3 檢視單個容器屬性 78
7.3.4 檢視運行終端會話的容器 79
7.3.5 檢視容器的內存和CPU限製 80
7.3.6 檢視容器的SELinux上下文 81
7.4 尋找探查容器的更多方法 82
7.4.1 用docker top查看容器進程 82
7.4.2 用docker attach與容器內服務進行交互 83
7.4.3 用docker exec在正在運行的容器中啓動新進程 83
7.4.4 用docker logs查看容器進程的輸齣 84
7.4.5 用docker diff查看容器的變化 84
7.4.6 用docker cp從容器復製文件 85
7.5 小結 85
第8章 容器的啓動、停止與重啓 86
8.1 停止和啓動容器 86
8.1.1 停止和啓動分離的容器 87
8.1.2 啓動和停止交互式容器 88
8.2 重啓容器 89
8.3 嚮容器發送信號 90
8.4 暫停容器與取消暫停 91
8.5 等待容器的退齣代碼 91
8.6 重命名容器 92
8.7 創建容器 92
8.8 小結 93
第9章 配置容器的存儲 95
9.1 管理容器的存儲 95
9.1.1 使用宿主機的捲 95
9.1.2 數據捲容器 97
9.1.3 對掛載寫保護 97
9.1.4 掛載設備 98
9.1.5 掛載套接字 98
9.2 Docker宿主機的存儲策略 99
9.2.1 附加外部存儲到Docker宿主機 101
9.2.2 使用邏輯捲管理器擴展存儲 101
9.3 小結 103
第10章 配置容器網絡 104
10.1 將端口暴露給其他容器 105
10.2 將端口映射到宿主機外部 106
10.2.1 從被鏈接的容器映射端口 106
10.2.2 鏈接不同宿主機上的容器 108
10.3 docker0網橋的替代方法 109
10.3.1 改變容器的網絡模式 109
10.3.2 細查網絡選項 109
10.4 修改Docker網橋 111
10.5 小結 112
第11章 清理容器 113
11.1 為鏡像和容器準備空間 113
11.2 刪除鏡像 114
11.2.1 刪除單個鏡像 114
11.2.2 刪除多個鏡像 116
11.3 刪除容器 117
11.3.1 刪除單個容器 117
11.3.2 刪除多個容器 119
11.4 清理和保存容器 119
11.4.1 清理和保存Ubuntu容器 120
11.4.2 清理和保存Fedora容器 120
11.5 小結 121
第12章 構建容器鏡像 122
12.1 進行簡單的Docker構建 123
12.2 通過Dockerfile設置要執行的命令 125
12.2.1 使用CMD指令 125
12.2.2 使用ENTRYPOINT指令 126
12.2.3 使用RUN指令 127
12.2.4 通過Dockerfile嚮鏡像添加文件 128
12.3 通過Dockerfile暴露鏡像的端口 128
12.4 在Dockerfile中設置環境變量 129
12.5 在Dockerfile中設置標簽 130
12.6 使用其他docker build命令選項 131
12.7 構建容器的技巧 132
12.7.1 清理鏡像 132
12.7.2 保持構建目錄較小 132
12.7.3 保持容器簡單 133
12.7.4 管理進行緩存的方法 133
12.8 小結 133
第三部分 在雲環境上運行容器
第13章 使用超級特權容器 136
13.1 在Atomic Host中使用超級特權容器 137
13.2 瞭解超級特權容器 137
13.2.1 開放給宿主機的權限 137
13.2.2 訪問宿主機的進程錶 137
13.2.3 訪問宿主機的網絡接口 138
13.2.4 訪問宿主機的進程間通信 139
13.2.5 訪問宿主機的文件係統 139
13.3 準備使用超級特權容器 140
13.4 使用atomic命令 140
13.4.1 用atomic安裝SPC鏡像 141
13.4.2 用atomic獲取SPC鏡像的信息 141
13.4.3 用atomic運行SPC鏡像 142
13.4.4 用atomic停止和重啓SPC 143
13.4.5 更新SPC鏡像 143
13.4.6 卸載SPC鏡像 144
13.5 嘗試一些SPC 144
13.5.1 運行RHEL工具SPC 144
13.5.2 運行日誌記錄(rsyslog)SPC 145
13.5.3 運行係統監控(sadc)SPC 147
13.6 小結 149
第14章 用Cockpit管理雲中的容器 150
14.1 瞭解Cockpit 151
14.2 著手使用Cockpit 154
14.3 將服務器添加到Cockpit 155
14.4 從Cockpit管理容器 156
14.4.1 嚮Cockpit添加容器鏡像 156
14.4.2 從Cockpit運行鏡像 157
14.5 從Cockpit管理網絡接口 159
14.6 從Cockpit配置存儲 161
14.7 在Cockpit中做其他管理工作 162
14.8 在Cockpit中打開終端 162
14.9 小結 163
第四部分 管理多容器
第15章 使用Kubernetes進行容器編排 166
15.1 瞭解Kubernetes 167
15.2 開始使用Kubernetes 168
15.3 搭建一體化Kubernetes 169
15.3.1 安裝並啓動Kubernetes 170
15.3.2 在Kubernetes中啓動一個pod 171
15.3.3 使用Kubernetes 173
15.4 小結 174
第16章 創建Kubernetes集群 176
16.1 瞭解Kubernetes的高級特性 176
16.2 搭建Kubernetes集群 177
16.2.1 第1步:安裝Linux 177
16.2.2 第2步:搭建Kubernetes master 178
16.2.3 第3步:搭建Kubernetes node 180
16.2.4 第4步:用Flannel進行網絡設置 181
16.3 啓動Kubernetes集群中的pod 182
16.4 刪除復製控製器、服務和pod 186
16.5 小結 187
第五部分 開發容器
第17章 開發Docker容器 190
17.1 為容器開發做好準備 190
17.1.1 為Red Hat係統選擇容器開發環境 190
17.1.2 來自Docker的容器開發環境 194
17.2 采用良好的開發實踐 195
17.2.1 將文件包含到構建中或排除齣去 195
17.2.2 利用分層 196
17.2.3 管理構建中的軟件包 197
17.3 進一步瞭解容器構建 198
17.4 小結 198
第18章 探索Dockerfile文件示例 199
18.1 細察官方Docker鏡像的Dockerfile 200
18.1.1 查看CentOS的Dockerfile 200
18.1.2 查看busybox的Dockerfile 202
18.2 細察來自開源項目的Dockerfile 203
18.2.1 查看WordPress的Dockerfile 203
18.2.2 查看MySQL的Dockerfile 205
18.3 細察桌麵和個人使用的Dockerfile 207
18.3.1 查看Chrome的Dockerfile 207
18.3.2 查看Firefox的Dockerfile 210
18.4 小結 213
Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic構建和部署 下載 mobi epub pdf txt 電子書 格式
Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic構建和部署 下載 mobi pdf epub txt 電子書 格式 2024
Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic構建和部署 mobi epub pdf txt 電子書 格式下載 2024