Docker Compose 參數
前端專案啟動方式
前端服務端口: 3004:3000
瀏覽器訪問: http://localhost:3004
1 | # 啟動前端服務 |
所有服務端口對應表
| 服務名稱 | 瀏覽器端口 → 容器端口 | 用途說明 | 訪問網址 |
|---|---|---|---|
| backend | 5004 → 8080 |
後端 API 服務 (.NET Core) | http://localhost:5004 |
| frontend | 3004 → 3000 |
前端網頁服務 (Next.js) | http://localhost:3004 |
端口對應格式說明
端口對應格式:瀏覽器端口:容器端口
- 瀏覽器端口(左側):從外部(您的電腦)訪問的端口,可以隨意調整
- 容器端口(右側):Docker 容器內部應用程式監聽的端口,通常不會變更
端口調整範例:
目前配置:
1 | frontend: |
可以調整為:
1 | frontend: |
重要注意事項:
瀏覽器端口可以自由調整:
- 避免與其他服務衝突
- 選擇未被占用的端口
- 例如:
3004→3002、5004→5000
容器內部端口通常不變更:
- Next.js 預設監聽
3000端口 - .NET Core 預設監聽
8080端口 - 變更需要修改應用程式配置
- Next.js 預設監聽
修改後需要重新啟動:
1
2docker-compose down
docker-compose up -d
網路架構說明
Docker 網路配置:
- dynamic-network: 主要應用服務網路(前端、後端服務)
常用操作指令
1 | # 啟動所有服務 |
重要提醒
- 確保 Docker Desktop 已啟動
- 前端和後端服務均連接至
dynamic-network網路 - 後端環境設定為
ASPNETCORE_ENVIRONMENT=Development - 端口衝突時:只需調整 docker-compose.yml 中的左側端口號
服務依賴關係
- 前端和後端服務透過
dynamic-network進行內部通信 - 所有服務設定為
restart: unless-stopped自動重啟
端口調整實用場景
情境一:端口衝突
如果 3004 端口被其他應用占用:
1 | frontend: |
情境二:多環境部署
開發環境和測試環境使用不同端口:
1 | # 開發環境 |
情境三:團隊協作
不同開發者使用各自偏好的端口:
1 | # 開發者 A 偏好 |
情境四:同時運行前後端
確保前後端端口不衝突:
1 | backend: |
📄 此指南基於當前的 docker-compose.yml 配置生成
🔧 記住:左側端口可調,右側端口通常不變
如需修改端口配置,請編輯 docker-compose.yml 文件後重新啟動服務
Comments