Docker: 設定環境變數與機密資訊(secrets)

本文件是使用 GitHub Actions 部署指南的一部分。請在此處查看完整指南:學習如何透過 GitHub Actions 部署您的 Docker 容器。

歡迎來到 Stackhero 文件中心

Stackhero 提供一個即時可用的 Docker 雲端 CaaS(Containers as a Service) 平台,專為快速且可靠的容器部署而設計:

  • 只需一行 docker-compose up 指令即可部署到生產環境。無需額外設定:直接啟動您的容器即可。
  • 自行選擇您的網域名稱,系統會自動以 HTTPS 進行安全防護(例如:https://api.your-company.com、https://www.your-company.com 或 https://backoffice.your-company.com)。
  • 享有高效能與強大安全性的專屬私有基礎架構。
  • 一鍵套用更新,讓維護變得簡單且省時。

您的容器大約五分鐘內即可在生產環境上線。Stackhero 為您管理基礎架構、更新與安全性,讓您能專注於應用程式的交付。深入了解 Docker CaaS 雲端主機服務。

為了讓 GitHub Actions 能連線到您的 Stackhero Docker 服務,您需要兩項資訊:服務的網域名稱與憑證密碼。

  1. 在 Stackhero 控制台中,選擇您的「production」Docker 服務並點擊「Configure」按鈕。

    取得服務設定取得服務設定

  2. 複製「Domain name」與「Docker certificates password」,以便於後續步驟使用。

    取得服務設定取得服務設定

  1. 在 GitHub 中開啟您的專案。

  2. 前往 Settings > Environments,然後點擊 New environment。

    設定 GitHub 環境設定 GitHub 環境

  3. 在 Name 欄位輸入「production」並確認。

    設定環境名稱設定環境名稱

  4. 點擊 No restriction 按鈕並選擇 Selected branches and tags。

    設定環境限制設定環境限制

  5. 點擊 Add deployment branch or tag rule,在 Name pattern 欄位輸入「production」,然後點擊 Add rule。

    設定環境分支設定環境分支 設定環境分支設定環境分支

  6. 在 Environment secrets 下方,點擊 Add secret。

    新增 secret新增 secret

  7. 將 secret 名稱設為 STACKHERO_CERTIFICATES_PASSWORD,並將您的憑證密碼貼到 Value 欄位。

    設定憑證密碼 secret設定憑證密碼 secret

  8. 在 Environment variables 下方,點擊 Add variable。

    設定變數設定變數

  9. 將名稱設為 STACKHERO_ENDPOINT,並將您的 Docker 服務 endpoint 貼到 Value 欄位。您可以在 Stackhero 控制台找到這個 endpoint。

    設定 endpoint 變數設定 endpoint 變數

如果您自訂了服務的網域名稱,請記得使用您的自訂網域,而非 <XXXXXX>.stackhero-network.com。

如果您的 docker-compose.yml 已經在專案根目錄,且不需要額外自訂,您可以跳過本節。

預設情況下,GitHub Actions 會在專案根目錄尋找 docker-compose.yml 檔案。如果您需要使用不同的檔案或設定,可以調整部署指令。例如,若您使用我們的 Node.js 與 Docker 入門範本,可以新增一個名為 STACKHERO_DEPLOY_COMMAND 的環境變數,並設為:

docker compose --env-file env.list --file docker/docker-compose.yml --file docker/docker-compose.production.yml up --build --remove-orphans -d