📌 Docker Compose 功能介紹
Docker Compose 是一個 工具,用來 定義和管理多個 Docker 容器 的應用程式。
它使用 YAML 配置文件 (docker-compose.yml
) 來描述整個應用的架構,然後可以使用簡單的命令來啟動、停止和管理容器。
🚀 為什麼使用 Docker Compose?
功能 | 說明 |
---|---|
管理多個容器 | 一個指令就能啟動多個互相協作的 Docker 容器 |
統一配置 | 使用 docker-compose.yml 來描述應用程式架構 |
簡化開發 | 開發環境與正式環境可以使用相同的設定 |
便於擴展 | 支援 多個服務(如資料庫、後端、前端等) |
內建網路管理 | 不同容器間 可以透過 docker network 自動通訊 |
🔹 Docker Compose 基本架構
範例:docker-compose.yml
📌 這個 Compose 設定:
- 啟動兩個容器 (
web
&database
)web
: 使用nginx:latest
database
: 使用mysql:5.7
- 自動建立 Docker 網路 (
mynetwork
)web
和database
可以互相通訊
- Nginx 服務 (
web
) 透過8080
提供 HTTP 存取
🚀 常用 Docker Compose 指令
指令 | 用途 |
---|---|
docker-compose up | 啟動 所有 服務 |
docker-compose up -d | 以 背景模式 運行 |
docker-compose down | 停止並刪除容器 |
docker-compose ps | 查看運行中的服務 |
docker-compose logs | 檢視日誌輸出 |
docker-compose exec <service> bash | 進入容器內部 |
🔹 進階功能
1️⃣ volumes
(資料持久化)
📌 確保 MySQL 資料庫資料不會因為容器重啟而遺失
2️⃣ depends_on
(容器依賴管理)
📌 確保 web
在 database
啟動後才開始運行
3️⃣ .env
環境變數
📌 使用 .env
檔案來管理環境變數
.env
檔案
docker-compose.yml
🚀 總結
功能 | Docker Compose 提供的解決方案 |
---|---|
管理多個容器 | 用 services 定義多個服務 |
簡單啟動應用 | docker-compose up 自動啟動全部容器 |
設定網路 | networks 讓容器可以互相通訊 |
持久化資料 | volumes 確保資料庫等服務不會遺失數據 |
設定環境變數 | .env 文件管理變數 |
🚀 Docker Compose 讓開發、測試、部署變得更簡單,適合開發微服務應用! 🚀
沒有留言:
張貼留言