內容簡介
容器化虛擬技術早已成為工程師必備的技能,無論專案開發的規模大小、採用哪個作業系統、整合了多少技術,清一色都會採用Docker作為開發工具,不管是開發人員、維運人員,Docker都是業界必備的謀生工具。雖然 Docker 的常用命令不到 20 個(全部也不過50幾個),小編知道很多前輩會說網路上的參考手冊和範例看一看就夠了,只是單純要把應用程式打包成容器或許如此(本書前四章就講完了),不過Docker早已發展成完整的生態系統,只懂得命令絕對不夠(後面還有十八章)。
作者 Elton Stoneman 是經驗豐富的 Docker Captain(Docker 隊長,全球僅 50 多位的官方種子講師),堪稱是最知名的容器化技術傳教士之一。本書不是坊間常見的命令參考手冊,而是作者在工作上應用容器技術的經驗大全,從最基本 Linux、Windows、Mac 等不同平台的操作差異,到實務上如何融入 Misroservice、Serverless 等開發架構,如何搭配 CI/CD pipeline 滿足 DevOps,或是多容器的管理和負載平衡、應用程式的監控與指標、不停機更新…等,這些工作上一定會遇到的情境,一般課程、教材都不會提,網路資訊也很零碎,只有跟著 Docker 隊長的腳步,精通容器部署、管理與維運,才能無縫接軌手上任何開發專案。
業界工程師一定要會!
容器部署、管理與維運工具完全整合,包括 Swarm、Kubernetes、Jenkins、Gogs、GitHub、Prometheus、Grafana、ElasticSearch、Fluentd、Kibana、Anchore、Redis、Nginx、Traefik…。
下班、午休偷偷學,22 天讓你實力開外掛
本書適用於任何背景的讀者,不管是開發人員、維運人員,或是您習慣 Mac、Linux和Windows系統,都可以輕鬆學習。各章設計了豐富範例和課後練習題增加實務經驗,每一章節主題明確,並會相互參照、補充,值得您每天犧牲1~2小時的午休或下班時間,只要 22 天就可以精通 Docker。
搭配專屬線上學習資源
本書包含了許多Dockerfile和應用程式範例,可以從作者GitHub和旗標網站上下載取得完整範例檔案和程式碼。作者也特地為本書錄製長達 20 小時的線上教學影片,強烈建議您搭配本書進行學習,相輔相成、效果加倍。reurl.cc/7rOZNd
本書特色
● 建構Docker映像檔和容器管理
● data volumes、虛擬網路、安全性配置
● 使用Docker Compose 串聯、配置多容器應用程式
● 使用 Docker Swarm調度、管理、部署分散式應用程式
● 建構CI/CD的工作流程
● 優化Docker image的大小、速度和安全性
● 啟用狀態檢查、相依性檢查讓應用程式自我修復錯誤
● 整合 Prometheus、Grafana,打造容器監控指標儀表板
● 協同Jenkins 打造自動化CI/CD Pipeline
● 自動發佈更新、降版還原、自動化修復,打造不停機運作
● 透過反向代理、訊息佇列來達成非同步溝通
● 整合Elasticsearch、Fluentd、Kibana建構應用程式的日誌模型
● 使用線上 Play with Docker 環境模擬多容器的叢集架構
● 本書由施威銘研究室監修,書中針對原書進行大量補充,並適當添加註解,幫助讀者更加理解內容。
● 搭配豐富學習資源:
→實務案例從做中學,GitHub 範例檔案同步更新
→各章節設計有【課後練習】,有效累積實務經驗
→搭配20小時專屬線上教學,效果加倍:reurl.cc/7rOZNd
→範例 + 旗標 Bonus:www.flag.com.tw/bk/st/F1126
作者簡介
目錄
第一篇 了解 Docker 容器和映像檔
Day01:Docker 應用五大情境與安裝步驟
Day02:Docker 操作流程與基礎命令
Day03:建立自己的 Docker 映像檔
Day04:將應用程式打包成 Docker 映像檔
Day05:分享映像檔
Day06:使用 Docker volume 進行永續性儲存
第二篇 在容器中執行分散式應用程式
Day07:使用 DockerCompose 執行多容器應用程式
Day08:維持應用程式的可靠性
Day09:容器的監控與可觀察性
Day10:使用 Docker Compose 執行多個環境
Day11:使用 Docker 及 Docker Compose 建置和測試應用程式
第三篇 使用容器調度工具執行大規模的應用程式
Day12:Docker Swarm 容器調度
Day13:將分散式應用程式部署到 Docker Swarm 中
Day14:升級和降版還原 (rollback) 的自動發佈
Day15:安全性遠端連線設定與建構 CI/CD pipeline
Day16:建置可在任何地方執行的 Docker 映像檔
第四篇 應用於正式生產環境的容器
Day17:優化 Docker 映像檔
Day18:容器中應用程式的配置管理
Day19:使用 Docker 撰寫及管理應用程式日誌
Day20:透過反向代理控制進入容器的 HTTP 流量
Day21:使用訊息佇列來達成非同步溝通
Day22:Docker 無止境