一步一步實現 .NET 8 部署到 Docker

Earen發表於2024-04-12

一、前言

本文僅針對作業系統為 CentOS 8 的環境下部署方法進行講述。如有需要,後續將在其他文章中進行其他系統下的部署方式講解。

二、準備工作

  1. 確保伺服器已安裝 docker。
    可以透過命令 docker -v 進行檢查,如出現下圖結果則表示已安裝。
  2. 程式碼準備
    • 在程式碼專案名稱上右鍵,依次選擇 新增 - Docker 支援...,彈出容器基架選項介面,如下圖:

    • 目標 OS 選擇 Linux容器生成型別 選擇 Dockerfile,點選 確定按鈕

    • 此時專案中會增加一個名為 Dockerfile 的配置檔案。

      內容大致如下:

    • 開啟專案 目錄 PropertieslaunchSettings.json 檔案

      將會看到新增的如下內容:

    • 需要注意的是Dockerfile檔案中的 EXPOSE 後方的埠需要與 Properties\launchSettings.json 檔案中的 ASPNETCORE_HTTP_PORTS 指定端埠一致,該埠在部署到 docker 後,將作為容器埠使用。

三、上傳專案原始碼到伺服器

上傳程式碼到伺服器的方式有很多,下面僅列舉手動上傳和從 git 克隆程式碼。

  • 手動上傳檔案
    利用工具 WinSCP 工具連線伺服器後,上傳檔案。
  • 從 git 克隆程式碼
    進入伺服器相關目錄下,利用 git 命令 git clone [url] 進行程式碼克隆到伺服器。

四、開始部署

  1. Dockerfile 檔案移動到父級目錄中。

  2. 開啟命令列視窗,利用 cd [路徑] 進入程式碼檔案所在目錄。

  3. 輸入命令 ls 檢視目錄下檔案,如下所示能看到 Dockerfile 檔案

  4. 建立映象
    命令:docker build -t 映象名稱:版本號 .
    引數:** -t 或 --tag **:用於指定映象的名稱和標籤
    示例:docker build -t swaggersimple:1.0 .

    等待操作完成後,可透過命令 docker images 檢視 docker 中已存在的映象

  5. 建立容器
    命令:docker run –name=容器名稱 -p主機(宿主)埠:容器埠 -d 映象名稱:1.0
    引數:--name:容器名稱;-p:指定埠對映,格式為:主機(宿主)埠:容器埠;-d:後臺執行容器,並返回容器ID
    示例:docker run --name=swaggersimple -p 8080:8080 -d swaggersimple:1.0

  6. 檢視容器資訊
    輸入命令: docker ps -a ,可檢視如下結果:

    說明:狀態(STATUS) 為 Up 則表示容器狀態為 執行中Exited 表示 已停止

  7. 檢查介面是否可以正常訪問
    輸入命令:curl http://192.168.16.128:8080/api/Test/appinfo檢視是否存在返回結果。

結束語

docker 容器部署已作為當前主流部署方式,歡迎大家一起交流學習。 QQ:2289480980

相關文章