Chapter 01 Docker 介紹
什麼時候會需要 Docker?
Docker 環境架設
驗證安裝
Chapter 02 哈囉!世界!
Docker 架構
hello world 背後的運作原理
不使用 docker run 指令
Chapter 03 使用 Docker 的指令建置環境
Container 管理小技巧
使用 port forwarding 開放服務
使用 Volume 同步檔案
使用 Network 連結 container
使用 environment 控制環境變數
Chapter 04 Container 實務應用
連接資料庫
資料庫 server 端
指令借我用一下
Docker 上跑就沒問題
小結
Chapter 05 運用 Docker Compose 組合 container
單一 container
多環境測試
連結多個 container
連結更多 container
Chapter 06 了解 Docker build 指令
Docker image 簡介
Dockerfile 與 docker bulid 指令
小結
Chapter 07 來實際打造 image 吧
初始化 Laravel
事前準備
Dockerfile 的第一手
設定路徑與原始碼
設定啟動 server 指令
Chapter 08 最佳化 Dockerfile
調整 build context
只安裝必要的工具與依賴
活用 cache
精簡 image
精簡 commit
使用 Multi-stage Build
Chapter 09 為各種框架 build image
Phoenix
Amber
Rocket
Lapis
Chapter 10 分享 image
Docker Hub
GitHub Container Registry
使用自架 Private Registry
其他 private registry 服務
透過 save / export 分享 image
Chapter 11 Docker 如何啟動 process
exec 模式與 shell 模式
觀察 docker exec 的情況
了解 CMD 與 ENTRYPOINT
CMD 的設計
ENTRYPOINT 的設計
純執行指令類型的 image
服務類型的 image
Chapter 12 如何運行多個 process
使用 docker exec
使用 shell script
使用 Supervisor
小結
Chapter 13 活用 ENV 與 ARG
ENV 的設計
ARG 的設計
ARG 與 ENV 混用
與 Multi-stage build 合併使用
小結
Chapter 14 Volume 進階用法
Volume 概念
應用
屬性設定
Volume driver
小結
Chapter 15 Network 手動配置
Network Drivers
預設的 Bridge 網路
自己開一個 bridge
host
container
none
小結
Chapter 16 Docker 與軟體開發方法
Continuous Integration
The Twelve-Factor App
Appendix A 指令補充說明
Appendix B 其他好用的指令