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

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

歡迎來到 Stackhero 文件中心

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

  • 只需一行 docker-compose up 指令即可部署到生產環境。無需額外設定:直接啟動您的容器即可。
  • 自行選擇您的網域名稱,系統會自動以 HTTPS 進行安全防護(例如:https://api.your-company.comhttps://www.your-company.comhttps://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