《第一本Docker書》於2014年由人民郵電出版社出版。本身適合對Docker 或容器開發感興趣的系統管理員、運維人員和開發人員閱讀。
基本介紹
內容簡介,作者簡介,圖書目錄,
內容簡介
Docker 是一個開源的套用容器引擎,開發者可以利用Docker 打包自己的套用以及依賴包到一個可移植的容器中,然後發布到任何流行的Linux 機器上,也可以實現虛擬化。
本書由Docker 公司前服務與支持副總裁James Turnbull 編寫,是專業的Docker 開發指南。本書會指導讀者完成Docker 的安裝、部署、管理和擴展,帶領讀者經歷從測試到生產的整個開發生命周期,讓讀者了解Docker 適用於什麼場景。書中先介紹Docker 及其組件的基礎知識,然後用Docker 構建容器和服務來完成各種任務:利用Docker 為新項目建立測試環境,演示如何使用持續集成的工作流集成Docker,如何構建應用程式服務和平台,如何使用Docker 的API,如何擴展Docker。
作者簡介
James Turnbull是一位技術作家,還是一名開源極客。他的大作是一本講述流行開源日誌工具的書——The LogStash Book。James還寫了兩本關於Puppet的書,一本是Pro Puppet以,另一本是較早的Pulling Strings with Puppet: Configuration Management Made Easy。此外,James還寫了Pro Linux System Administration、Pro Nagios 2.0和Hardening Linux這三本書。
James真正的工作是Kickstarter的工程副總裁。之前,James曾擔任Docker公司服務與支持副總裁、Venmo公司工程副總裁和Puppet Labs的技術運維副總裁。James熱愛美食、美酒、閱讀、攝影,還很喜歡貓咪,但對在海灘上手牽手散步卻並不熱衷。
譯者簡介
李兆海 網名Googol Lee。使用Googol這個名字真的是因為“10的100次方”這個意思,和後來的Google公司沒有一點兒關係。多年後端程式設計師,早期以C、C++為主,後來轉向Python,現在以Go為生。曾寫過《Golang初探》發表於2011年2月號《程式設計師》。Docker早期使用者。平時喜歡亂翻書,遇到感興趣的都會研究一番。Twitter賬戶@googollee。
劉斌 具有10餘年軟體開發經驗,關注後台開發技術和各種程式語言。做過電子商務、金融、企業系統以及Android手機開發;寫過Delphi,也兼做系統管理員和DBA(現在都改叫DevOps了);既做後台套用,也要調用前台CSS和JavaScript,可還是不敢自稱Full Stack;今又舶來Growth Hacker,我想我要做一個Growth Engineer。
圖書目錄
第1 章 簡介
1.1 Docker 簡介
1.1.1 提供一個簡單、輕量的建模方式
1.1.2 職責的邏輯分離
1.1.3 快速、高效的開發生命周期
1.1.4 鼓勵使用面向服務的架構
1.2 Docker 組件
1.2.1 Docker 客戶端和伺服器
1.2.2 Docker 鏡像
1.2.3 Registry
1.2.4 容器
1.3 我們能用Docker 做什麼
1.4 Docker 與配置管理
1.5 Docker 的技術組件
1.6 本書的內容
1.7 Docker 資源
第2 章 安裝Docker
2.1 安裝Docker 的先決條件
2.2 在Ubuntu 中安裝Docker
2.2.1 檢查前提條件
2.2.2 安裝Docker
2.2.3 Docker 與UFW
2.3 在Red Hat 和Red Hat 系發行版中安裝Docker
2.3.1 檢查前提條件
2.3.2 安裝Docker
2.3.3 在Red Hat 系發行版中啟動Docker 守護進程
2.4 在OS X 中安裝Boot2Docker
2.4.1 在OS X 中安裝Boot2Docker
2.4.2 在OS X 中啟動Boot2Docker
2.4.3 測試Boot2Docker
2.5 在Windows 中安裝Boot2Docker
2.5.1 在Windows 中安裝Boot2Docker
2.5.2 在Windows 中啟動Boot2Docker
2.5.3 測試Boot2Docker
2.6 使用本書的Boot2Docker 示例
2.7 Docker 安裝腳本
2.8 二進制安裝
2.9 Docker 守護進程
2.9.1 配置Docker 守護進程
2.9.2 檢查Docker 守護進程是否正在運行
2.10 升級Docker
2.11 Docker 圖形用戶界面
2.12 小結
第3 章 Docker 入門
3.1 確保Docker 已經就緒
3.2 運行我們的第一個容器
3.3 使用第一個容器
3.4 容器命名
3.5 重新啟動已經停止的容器
3.6 附著到容器上
3.7 創建守護式容器
3.8 容器內部都在幹些什麼
3.9 查看容器內的進程
3.10 在容器內部運行進程
3.11 停止守護式容器
3.12 自動重啟容器
3.13 深入容器
3.14 刪除容器
3.15 小結
第4 章 使用Docker 鏡像和倉庫
4.1 什麼是Docker 鏡像
4.2 列出鏡像
4.3 拉取鏡像
4.4 查找鏡像
4.5 構建鏡像
4.5.1 創建Docker Hub 賬號·
4.5.2 用Docker 的commit 命令創建鏡像
4.5.3 用Dockerfile構建鏡像
4.5.4 基於Dockerfile構建新鏡像
4.5.5 指令失敗時會怎樣
4.5.6 Dockerfile 和構建快取
4.5.7 基於構建快取的Dockerfile模板
4.5.8 查看新鏡像
4.5.9 從新鏡像啟動容器
4.5.10 Dockerfile 指令
4.6 將鏡像推送到Docker Hub
4.7 刪除鏡像
4.8 運行自己的Docker Registry
4.8.1 從容器運行Registry
4.8.2 測試新Registry
4.9 其他可選Registry 服務
4.10 小結
第5 章 在測試中使用Docker
5.1 使用Docker 測試靜態網站
5.1.1 Sample 網站的初始Dockerfile
5.1.2 構建Sample 網站和Nginx鏡像
5.1.3 從Sample 網站和Nginx 鏡像構建容器
5.1.4 修改網站
5.2 使用Docker 構建並測試Web應用程式
5.2.1 構建Sinatra 應用程式
5.2.2 創建Sinatra 容器
5.2.3 構建Redis 鏡像和容器
5.2.4 連線到Redis 容器
5.2.5 連線Redis
5.2.6 讓Docker 容器互連
5.2.7 使用容器連線來通信
5.3 Docker 用於持續集成
5.3.1 構建Jenkins 和Docker伺服器
5.3.2 創建新的Jenkins 作業
5.3.3 運行Jenkins 作業
5.3.4 與Jenkins 作業有關的下一步
5.3.5 Jenkins 設定小結
5.4 多配置的Jenkins
5.4.1 創建多配置作業
5.4.2 測試多配置作業
5.4.3 Jenkins 多配置作業小結
5.5 其他選擇
5.5.1 Drone
5.5.2 Shippable
5.6 小結
第6 章 使用Docker 構建服務
6.1 構建第一個套用
6.1.1 Jekyll 基礎鏡像
6.1.2 構建Jekyll 基礎鏡像
6.1.3 Apache 鏡像
6.1.4 構建Jekylll Apache 鏡像
6.1.5 啟動Jekylll 網站
6.1.6 更新Jekyll 網站
6.1.7 備份Jekyll 卷
6.1.8 擴展Jekyll 示例網站
6.2 使用Docker 構建一個Java套用服務
6.2.1 WAR 檔案的獲取器
6.2.2 獲取WAR 檔案
6.2.3 Tomecat7 套用伺服器
6.2.4 運行WAR 檔案
6.2.5 基於Tomcat 套用伺服器的構建服務
6.3 多容器的套用棧
6.3.1 Node.js 鏡像
6.3.2 Redis 基礎鏡像
6.3.3 Redis 主鏡像
6.3.4 Redis 從鏡像
6.3.5 創建Redis 後端集群
6.3.6 創建Node 容器
6.3.7 捕獲套用日誌
6.3.8 Node 程式棧的小結
6.4 不使用SSH 管理Docker 容器
6.5 小結
第7 章 使用Fig 編配Docker
7.1 Fig
7.1.1 安裝Fig
7.1.2 獲取示例套用
7.1.3 fig.yml 檔案
7.1.4 運行Fig
7.1.5 使用Fig
7.1.6 Fig 小結
7.2 Consul、服務發現和Docker ·
7.2.1 構建Consul 鏡像
7.2.2 在本地測試Consul 容器
7.2.3 使用Docker 運行Consul集群
7.2.4 啟動具有自啟動功能的Consul 節點
7.2.5 啟動其餘節點
7.2.6 配合Consul,在Docker里運行一個分散式服務
7.3 其他編配工具和組件
7.3.1 Fleet 和etcd
7.3.2 Kubernetes
7.3.3 Apache Mesos
7.3.4 Helios
7.3.5 Centurion
7.3.6 Libswarm
7.4 小結
第8 章 使用Docker API
8.1 Docker API
8.2 初識Remote API
8.3 測試Docker Remote API
8.3.1 通過API 來管理Docker鏡像
8.3.2 通過API 管理Docker容器
8.4 改進TProv 套用
8.5 對Docker Remote API 進行認證
8.5.1 建立證書授權中心
8.5.2 創建伺服器的證書籤名請求和密鑰
8.5.3 配置Docker 守護進程
8.5.4 創建客戶端證書和秘鑰
8.5.5 配置Docker 客戶端開啟認證功能
8.6 小結
第9 章 獲得幫助和對Docker改進
9.1 獲得幫助
9.1.1 Docker 用戶和開發郵件列表
9.1.2 IRC 上的Docker
9.1.3 GitHub 上的Docker
9.2 報告Docker 的問題
9.3 搭建構建環境
9.3.1 安裝Docker
9.3.2 安裝原始碼和構建工具
9.3.3 檢出原始碼
9.3.4 貢獻文檔
9.3.5 構建開發環境
9.3.6 運行測試
9.3.7 在開發環境中使用Docker
9.3.8 發起pull request
9.3.9 批准合併和維護者
9.4 小結