以下是原文翻译成繁體中文的內容:

Docker - Setting ASP.Net

# Docker - 設置 ASP.Net

你好啊,有抱負的開發者們!我很興奮能成為你們在 Docker 和 ASP.Net 世界的導遊。作為一個教了計算機科學多年的老師,我可以向你們保證,儘管這可能在一開始看起來很令人生畏,但我們會把它分解成即使是完全的初學者也能理解的小部分。所以,拿起你們最喜歡的飲料,放鬆一下,我們來一起深入探究吧!

## 前置條件

在我們開始 Docker 的冒險之前,讓我們確保我們已經準備好了所有需要的東西。以下是你要準備的:

1. 一台電腦(我知道,這個很震驚,對吧?)
2. 在你的機器上安裝 Docker
3. 一個文本編輯器(我推薦 Visual Studio Code,但任何編輯器都可以)
4. 一個網絡連接(用於下載我們的容器)
5. 一個積極的心態(相信我,這很有幫助!)

如果你還沒有安裝 Docker,別擔心!去官方 Docker 網站並按照他們的操作系統安裝指南進行操作。這簡直易如反掌——嗯,也許比做派還要容易,因為做派可能會有點棘手!

## 安裝 ASP.Net 容器

現在我們已經準備好了,讓我們來親自動手使用一些真正的 Docker 命令。別擔心如果你以前從未見過這些命令——我會詳細解釋每一個。

### 步驟 1:拉取 ASP.Net 镜像

首先,我們需要從 Docker Hub 拉取 ASP.Net 镜像。可以把這想象成下載一本食譜書——我們正在獲取創建 ASP.Net 環境所需的所有指示。

```bash
docker pull mcr.microsoft.com/dotnet/aspnet

當你運行這個命令時,你會看到 Docker 正在下載各種層。它可能會長得像這樣:

使用默認標籤:latest
latest: 從 mcr.microsoft.com/dotnet/aspnet 拉取
6552179c3509: 拉取完成
93f0674a4913: 拉取完成
7fda5da89196: 拉取完成
摘要:sha256:abcdef1234567890...
狀態:為 mcr.microsoft.com/dotnet/aspnet:latest 下載了更新的镜像

步驟 2:驗證镜像

讓我們確保我們的镜像下載正確:

docker images

你應該會看到類似這樣的內容:

倉庫                         標籤       镜像 ID       創建時間        大小
mcr.microsoft.com/dotnet/aspnet    latest    1234abcd5678   2 天前     207MB

太棒了!我們的 ASP.Net 镜像現在已經準備好使用了。

步驟 3:創建 Dockerfile

現在,讓我們來創建一個 Dockerfile。這就像為我們的應用程序寫下食譜。創建一個名為 Dockerfile(沒有副檔名)的新文件並添加以下內容:

FROM mcr.microsoft.com/dotnet/aspnet:latest
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "YourApp.dll"]

讓我們來分解這些:

  • FROM:這告訴 Docker 使用哪個镜像作為起始點。
  • WORKDIR:這設置容器內的工作目錄。
  • COPY:這將我們的應用程序文件複製到容器中。
  • ENTRYPOINT:這指定容器啟動時要運行的命令。

步驟 4:構建 Docker 镜像

現在我們有了 Dockerfile,讓我們來構建我們的镜像:

docker build -t myaspnetapp .

-t 標籤將我們的镜像標記為 "myaspnetapp",而 . 告訴 Docker 在當前目錄中尋找 Dockerfile。

步驟 5:運行容器

最後,讓我們來運行我們的容器:

docker run -d -p 8080:80 --name myrunningapp myaspnetapp

讓我們來分解這些:

  • -d:這讓容器在分離模式(後台)運行。
  • -p 8080:80:這將你的機器上的端口 8080 映射到容器中的端口 80。
  • --name:這給我們運行的容器一個名稱。
  • myaspnetapp:這是我們要運行的镜像的名稱。

瞧!你的 ASP.Net 應用程序現在正在 Docker 容器中運行。

常見 Docker 命令

以下是一些你可能會發現有用的常見 Docker 命令:

命令 描述
docker ps 列出運行的容器
docker ps -a 列出所有容器(包括停止的容器)
docker stop <container_name> 停止一個運行的容器
docker start <container_name> 開始一個停止的容器
docker rm <container_name> 刪除一個容器
docker logs <container_name> 查看容器日誌
docker exec -it <container_name> /bin/bash 在運行的容器中打開一個 shell

結論

恭喜你!你剛剛在 Docker 中設置了一個 ASP.Net 應用程序。記住,學習使用 Docker 還像學習騎自行車一樣——起初可能會有些晃動,但隨著練習,你會很快馳騁。

當我們結束時,我會想起一個學生曾經告訴我,“Docker 起初看起來像魔法,但現在它只是我的工具包的一部分。”這是我希望你能夠開始的旅程。

繼續實驗,繼續學習,最重要的是,繼續享受其中的樂趣。Docker 打開了一個充滿可能性的世界,而你現在已經裝備好去探索它們。快樂編程,願你的容器永遠輕盈,部署順暢!

Credits: Image by storyset