實戰:完整專案部署

Vibe Prompt

「幫我寫一個完整的部署腳本:

  1. 在 Ubuntu VPS 上安裝 Docker 與 Compose
  2. 從 GitHub clone 專案
  3. 複製 .env 並填入變數
  4. docker compose up -d 啟動全部服務
  5. 設定 Nginx reverse proxy + SSL
  6. 設定每日自動備份資料庫」

deploy.sh

#!/bin/bash
set -e

# 安裝 Docker
curl -fsSL https://get.docker.com | sh

# Clone 專案
git clone https://github.com/username/myapp.git
cd myapp

# 設定環境變數
cp .env.example .env
nano .env  # 填入你的環境變數

# 啟動所有服務
docker compose -f compose.yml -f compose.prod.yml up -d --build

# 設定 Nginx
sudo apt install nginx
sudo tee /etc/nginx/sites-available/myapp << 'EOF'
server {
    listen 80;
    server_name myapp.com;
    
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
    location /api {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
EOF

# SSL (Let's Encrypt)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d myapp.com

# 每日備份
crontab -l | { cat; echo "0 3 * * * cd /opt/myapp && docker compose exec db pg_dump -U myapp myapp > backup/\$(date +\\%Y\\%m\\%d).sql"; } | crontab -

echo "🎉 部署完成!https://myapp.com"

課程總結

Docker Compose 課程完成!

  • ✅ Compose YAML 語法
  • ✅ 多服務架構
  • ✅ 開發/正式分離
  • ✅ 網路與儲存
  • ✅ 一鍵部署腳本

關鍵要點

  • ✅ 請根據本章主題補充具體的學習重點
  • ✅ 建議加入比較表格、程式碼範例或流程圖
  • ✅ 確保內容扎實且有價值


Docker Compose 實戰要點

Docker Compose 是定義和執行多容器 Docker 應用的工具。用 YAML 檔案設定服務、網路、磁碟區。

為什麼重要?

在 production 部署中,你很少只跑一個容器。Compose 讓你把 Web Server、資料庫、快取、佇列全部定義在同一個 YAML 中,一行指令全部啟動。

VPS 部署流程

把 Docker Compose 專案部署到 VPS(如 AWS EC2、DigitalOcean、Linode)的標準步驟:

# 1. SSH 到 VPS
ssh root@your-server-ip

# 2. 安裝 Docker + Compose(如果還沒裝)
apt update && apt install docker.io docker-compose-plugin

# 3. 複製專案到伺服器
git clone https://github.com/your/project.git
cd project

# 4. 啟動
cat .env.production  # 確認環境變數
sudo docker compose -f docker-compose.prod.yml up -d

# 5. 檢查
sudo docker compose ps
sudo docker compose logs -f

課程總結

這堂 Docker Compose 課從 YAML 語法、多服務架構、環境分離、網路磁碟區到 VPS 部署——你現在可以管理一個多容器的 production 應用了。

解鎖完整教學內容

本章為付費內容。加入專案即可解鎖超過 5000 字的深度解析,包含 10 個以上神級 Prompt 與真實 Source Code 範例!