Docker從入門到實戰(Introduction and Advanced Usage of Docker)

Docker從入門到實戰(Introduction and Advanced Usage of Docker)

作者: 黃靖鈞
出版社: 機械工業
出版在: 2017-08-01
ISBN-13: 9787111573289
ISBN-10: 7111573285
裝訂格式: 平裝
總頁數: 345 頁





內容描述


本書從Docker的相關概念與基礎知識講起,結合實際應用,通過不同開發環境的實戰例子,詳細介紹了Docker的基礎知識與進階實戰的相關內容,以引領讀者快速入門並提高。本書共19章,分3篇。第1篇容器技術與Docker概念,涵蓋的內容有容器技術、Docker簡介、安裝Docker等。第2篇Docker基礎知識,涵蓋的內容有Docker基礎、Docker鏡像、Dockerfile文件、Docker倉庫、Docker容器、數據捲、網絡管理等。第3篇Docker進階實戰,涵蓋的內容有操作系統、編排工具Compose、Web服務器與應用、數據庫、編程語言、DockerAPI、私有倉庫、集群網絡、Docker安全等。本書非常適合所有對Docker感興趣的入門新手閱讀。不管是開發人員還是運維人員,都可以通過本書學習Docker的基本知識。即使不是程序員的讀者,本書同樣適合,普通用戶完全可以把Docker當做一個“好玩的工具”來使用,以體驗Docker帶來的便捷。


目錄大綱


前言
第1篇容器技術與Docker概念
第1章容器技術2 
1.1什麼是容器2 
1.1.1關於虛擬化2 
1.1.2容器的定義3 
1.1.3為什麼使用容器3 
1.2容器技術的前世今生4 
1.2. 1容器技術的起源4 
1.2.2容器技術的發展5 
1.3容器的原理7 
1.3.1從namespace說起7 
1.3.2認識Cgroups9 
1.3.3容器的創建11 
1.4容器雲12 
1.5容器與Docker13 
1.6本章小結13 
第2章Docker簡介14 
2.1什麼是Docker14 
2.1.1Docker的歷史14 
2.1.2Docker的現狀16 
2.1.3Docker的未來17 
2.2Docker的功能及優缺點18 
2.2.1Docker在解決什麼18 
2.2.2為什麼選擇Docker19 
2.2.3Docker的缺點19 
2.3Docker和虛擬機19 
2.3.1Docker與虛擬機的區別20 
2.3.2Docker與虛擬機的優缺點20 
2.4Docker與runC21 
2.4.1libcontainer與runC21 
2.4.2runC的使用22 
2.4.3runC原理22 
2.5Docker基本架構24 
2.5.1DockerClient介紹24 
2.5.2Dockerdaemon介紹25 
2.5.3Docker鏡像25 
2.5.4Docker容器26 
2.5.5Docker倉庫26 
2.6本章小結26 
第3章安裝Docker27 
3.1Linux系統27 
3.1.1一鍵安裝 本27 
3.1.2Debian發行版28 
3.1.3Ubuntu發行版30 
3.1.4Centos/Fedora發行版33 
3.1.5ArchLinux發行版37 
3.1.6Suse/openSUSE發行版38 
3.2Windows與MacOS系統38 
3.2.1在Windows上安裝原生Docker39 
3.2.2在MacOS上安裝原生Docker41 
3.3二進制安裝43 
3.3.1獲取Linux二進制包44 
3.3.2獲取MacOSX二進制包44 
3.3.3獲取Windows的二進制包45 
3.3.4樹莓派安裝Docker45 
3.4本章小結46 
第2篇Docker基礎知識
第4章Docker基礎48 
4.1Docker基本操作48 
4.1.1依附容器的dockerattach命令49 
4.1.2構建鏡像的dockerbuild命令51 
4.1.3提交容器的dockercommit命令52 
4.1.4複製文件到宿主機的dockercp命令52 
4.1.5創建容器的dockercreate命令53 
4.1.6查看容器變化的dockerdiff命令54 
4.1.7查看事件的dockerevents命令54 
4.1.8進入容器的dockerexec命令55 
4.1.9導出容器的dockerexport命令56 
4.1.10查看鏡像歷史的dockerhistory命令56 
4.1.11查看本地鏡像的dockerimages命令57 
4.1.12導入容器的dockerimport命令58 
4.1.13查看Docker信息的dockerinfo命令58 
4.1.14查看各項詳細信息的dockerinspect命令59 
4.1.15殺死容器的dockerkill命令60 
4.1.16導入鏡像的dockerload命令60 
4.1.17登錄倉庫的dockerlogin命令61 
4.1.18登出倉庫的dockerlogout命令61 
4.1.19查看容器日誌的dockerlogs命令62 
4.1.20管理網絡的dockernetwork命令62 
4.1.21管理節點的dockernode命令63 
4.1.22暫停容器的dockerpause命令64 
4.1.23查看容器端口的dockerport命令64 
4.1.24查看本地容器信息的dockerps命令65 
4.1.25拉取鏡像的dockerpull命令65 
4.1.26推送鏡像的dockerpush命令66 
4.1.27重命名容器的dockerrename命令66 
4.1.28重啟容器的dockerrestart命令66 
4.1.29刪除容器的dockerrm命令67 
4.1.30刪除鏡像的dockerrmi命令67 
4.1.31運行容器的dockerrun命令68 
4.1.32導出鏡像的dockersave命令72 
4.1.33搜索鏡像的dockersearch命令73 
4.1.34管理服務的dockerservice命令74 
4.1.35啟動容器的dockerstart命令74 
4.1.36查看容器 態的dockerstats命令75 
4.1.37停止容器的dockerstop命令75 
4.1.38管理集群的dockerswarm命令76 
4.1.39設置鏡像標籤的dockertag命令76 
4.1.40查看容器進程的dockertop命令77 
4.1.41恢復暫停容器的dockerunpause命令77 
4.1.42更新容器的dockerupdate命令77 
4.1.43查看Docker版本的dockerversion命令78 
4.1.44管理數據卷的dockervolume命令78 
4.1.45設置等待的dockerwait命令79 
4.2啟動第一個Docker容器79 
4.3構建第一個Docker鏡像80 
4.4本章小結81 
第5章Docker鏡像82 
5.1認識鏡像82 
5.1.1使用dockerpull拉取鏡像82 
5.1.2搜索鏡像83 
5.1.3查看鏡像信息84 
5.2創建鏡像86 
5.2.1剖析HelloWorld鏡像86 
5.2.2從Dockerfile構建鏡像86 
5.2.3自動構建鏡像87 
5.2.4提交容器為鏡像90 
5.3導出和導入鏡像91 
5.3.1導出鏡像到本地文件系統91 
5.3.2從本地文件系統導入鏡像91 
5.4發布鏡像91 
5.4.1發布鏡像到DockerHub92 
5.4.2給鏡像打上標籤92 
5.4.3發佈到第三方鏡像倉庫92 
5.5刪除 鏡像93 
5.5.1刪除本地鏡像93 
5.5.2刪除倉庫鏡像93 
5.6Docker鏡像擴展94 
5.6.1Docker鏡像裡有什麼94 
5.6.2Docker鏡像的存儲方式95 
5.6.3聯合掛載95 
5.6.4Git式管理96 
5.7本章小結96 
第6章Dockerfile文件97 
6.1Dockerfile基本結構97 
6.1.1Dockerfile基礎97 
6.1.2Dockerfile的書寫規則98 
6.1.3基礎鏡像信息和維護者信息99 
6.2Dockerfile指令99 
6.2.1指定基礎鏡像的FROM指令
6.2.2設置維護者信息的MAINTAINER指令
6.2.3執行構建命令的RUN指令
6.2.4設置鏡像環境變量的ENV指令
6.2.5複製文件的COPY指令
6.2.6添加文件的ADD指令
6.2.7指定端口暴露的EXPOSE指令
6.2.8設置鏡像啟動命令的CMD指令
6.2.9設置接入點的ENTRYPOINT指令
6.2.10設置數據卷的VOLUME指令
6.2.11設置構建用戶的USER指令
6.2.12設置工作目錄的WORKDIR指令
6.2.13設置二次構建指令的ONBUILD指令
6.2.14設置元數據的LABEL指令
6.2.15設置構建變量的ARG指令
6.2.16設置停止信號的STOPSIGNAL指令
6.2.17 查鏡像狀態的HEALTHCHECK指令
6.2.18設置命令執行環境的SHELL指令
6.3鏡像構建實戰
6.3.1收集應用信息
6.3.2編寫Dockerfile 
6.3.3設置自動構建
6.4本章小結
…… 
第7章Docker倉庫
第8章Docker容器
第9章數據卷
第10章網絡管理
第3篇Docker進階實戰


作者介紹


黃靖鈞,全棧開發者,熱衷開源技術。長期以來一直使用容器技術作為應用部署方案,在Docker容器實戰方面經驗豐富。有多年的大規模集群管理經驗。曾經從事PaaS與CaaS項目開發。現專注於Serverless與SDN等領域的研究。




相關書籍

Business in Real-Time Using Azure IoT and Cortana Intelligence Suite: Driving Your Digital Transformation

作者 Bob Familiar Jeff Barnes

2017-08-01

實戰 VMware vSphere 7 部署與管理

作者 顧武雄

2017-08-01

Pro Microsoft Hyper-V 2019: Practical Guidance and Hands-On Labs

作者 Andy Syrewicze

2017-08-01