Docker 中部署 .NET 8 Web App 並支援 HTTPS
本文件詳細說明如何在 Docker 中部署 .NET 8 Web App,並讓其支援 HTTPS,同時使用 docker-compose 進行管理。
📌 目錄
1️⃣ 建立 .NET 8 Web App
如果尚未建立 .NET 8 Web 應用程式,請執行以下指令:
dotnet new web -n MyWebApp
cd MyWebApp2️⃣ 建立 Dockerfile
Dockerfile在專案根目錄建立 Dockerfile,並填入以下內容:
3️⃣ 建立 HTTPS 憑證
ASP.NET Core 需要 .pfx 憑證來啟用 HTTPS,請執行:
這將建立 aspnetapp.pfx,並將其放入專案目錄。
4️⃣ 建立 docker-compose.yml
docker-compose.yml在專案目錄內建立 docker-compose.yml 檔案。
🔹 適用於標準 80/443 端口
🔹 若要使用 8080/8081 端口
8080/8081 端口5️⃣ 執行與測試
🔹 啟動容器
執行以下指令來建置並啟動容器:
🔹 檢查運行狀態
🔹 檢查容器日誌
🔹 測試應用程式
HTTP:
http://localhost:5000HTTPS:
https://localhost:5001
🔹 停止並移除容器
6️⃣ 常見錯誤與解決方案
❌ 錯誤 1:The system cannot find the path specified.
The system cannot find the path specified.原因:指定的 docker-compose.yml 路徑錯誤。解決方案:
❌ 錯誤 2:Error mounting aspnetapp.pfx: not a directory
Error mounting aspnetapp.pfx: not a directory原因:
aspnetapp.pfx不存在或未正確掛載。
解決方案:
檢查檔案是否存在
確保
volumes使用完整路徑
❌ 錯誤 3:環境變數內含敏感資訊
解決方案: 在 docker run 時傳入:
🎯 總結
建立
.NET 8 Web App並撰寫Dockerfile。建立
aspnetapp.pfx來啟用 HTTPS。使用
docker-compose.yml進行管理。使用
docker-compose up --build -d啟動應用程式。修正常見錯誤,確保應用程式順利運行。
這樣,你的 .NET 8 Web App 就可以 成功運行於 Docker 並支援 HTTPS!
Last updated