入門Docker,從 HelloWorld 開始
一、從 HelloWorld 開始:安裝 Docker 和啟動基礎設置
-
下載並安裝 Docker Desktop:
- 訪問 Docker 官網,下載並安裝 Docker Desktop for Windows,選擇 Windows-AMD64 版本。
-
啟動 Docker 和配置 WSL 2:
- 安裝完成後,打開 PowerShell(以管理員身份運行)。
- 執行以下命令來啟用 WSL 2(Windows Subsystem for Linux):
-
驗證 Docker 是否安裝成功:
- 驗證 Docker 是否正常運行,並執行以下命令檢查 Docker 版本:
-
運行 HelloWorld 測試:
- 進一步檢查 Docker 是否啟動成功,運行 HelloWorld 容器:
-
確保啟用必要的項目:
- 此時,你應該確認以下項目已成功啟用:
- WSL 2
- Hyper-V
- Docker
下載並安裝 Docker Desktop:
- 訪問 Docker 官網,下載並安裝 Docker Desktop for Windows,選擇 Windows-AMD64 版本。
啟動 Docker 和配置 WSL 2:
- 安裝完成後,打開 PowerShell(以管理員身份運行)。
- 執行以下命令來啟用 WSL 2(Windows Subsystem for Linux):
驗證 Docker 是否安裝成功:
- 驗證 Docker 是否正常運行,並執行以下命令檢查 Docker 版本:
運行 HelloWorld 測試:
- 進一步檢查 Docker 是否啟動成功,運行 HelloWorld 容器:
確保啟用必要的項目:
- 此時,你應該確認以下項目已成功啟用:
- WSL 2
- Hyper-V
- Docker
二、設定 ASP.NET Core Docker 環境
-
創建 Dockerfile:
- 右鍵單擊你的方案根目錄,選擇 加入 -> 新項目,並命名為
Dockerfile
。
-
配置 Dockerfile:
-
在 Dockerfile
中,將以下內容粘貼到其中:
-
根據你的專案結構,修改相應的文件和路徑。
創建 Dockerfile:
- 右鍵單擊你的方案根目錄,選擇 加入 -> 新項目,並命名為
Dockerfile
。
配置 Dockerfile:
-
在
Dockerfile
中,將以下內容粘貼到其中: -
根據你的專案結構,修改相應的文件和路徑。
三、構建 Docker 映像並運行容器
-
構建 Docker 映像:
- 打開 PowerShell,進入你的專案目錄並運行以下命令來構建 Docker 映像:
-
運行容器:
-
運行容器並映射端口,將容器的 80 端口 映射到宿主機的 5000 端口:
-
這樣,你就可以在瀏覽器中通過 http://localhost:5000
訪問你的應用。
構建 Docker 映像:
- 打開 PowerShell,進入你的專案目錄並運行以下命令來構建 Docker 映像:
運行容器:
-
運行容器並映射端口,將容器的 80 端口 映射到宿主機的 5000 端口:
-
這樣,你就可以在瀏覽器中通過
http://localhost:5000
訪問你的應用。
四、其他常見問題及解決方案
1. 端口衝突問題
-
如果 5000 端口 已被其他服務佔用,可以查看 Docker 容器的日誌來檢查實際運行的端口。
-
打開 Docker Desktop GUI 或執行以下命令查看容器的日誌:
-
你可以在日誌中查看 Now listening on: http://[::]:8080
,表示容器正在監聽 8080 端口。
-
若不想重新配置端口映射(如果已有其他服務使用 5000 端口),你可以選擇將 Docker 容器映射到 8080 端口:
如果 5000 端口 已被其他服務佔用,可以查看 Docker 容器的日誌來檢查實際運行的端口。
打開 Docker Desktop GUI 或執行以下命令查看容器的日誌:
你可以在日誌中查看 Now listening on: http://[::]:8080
,表示容器正在監聽 8080 端口。
若不想重新配置端口映射(如果已有其他服務使用 5000 端口),你可以選擇將 Docker 容器映射到 8080 端口:
2. 查詢端口占用情況
- 若你不確定是什麼進程佔用了端口,可以使用以下命令查詢 5000 端口 的 PID:
- 查詢到的 PID 可以幫助你找到佔用端口的進程,然後通過以下命令終止該進程:
總結
- 安裝並配置 Docker Desktop,啟用 WSL 2 和 Hyper-V,並驗證 Docker 是否運行正常。
- 創建並配置 Dockerfile,設置 ASP.NET Core 應用的容器環境。
- 使用
docker build
構建映像,並使用 docker run
運行容器。
- 處理端口衝突問題,查詢佔用端口的進程,並根據需要進行端口映射。
docker build
構建映像,並使用 docker run
運行容器。
留言
張貼留言