1. 程式人生 > 其它 >ASP.Net Core 釋出到 Windows Docker

ASP.Net Core 釋出到 Windows Docker

新版Docker for windows 使用WIN10新的WSL2 進行docker操作比之前的版本更加成熟簡單,甚至可以和VS進行聯調測試了 很方便

1.安裝新版docker desktop20

2.和釋出到centos 一樣 我們先把專案檔案編譯併發布到本地目錄,由於是在windows當前主機上的docker釋出 所以無需再上傳

由於生成的預設dockerfile 包含了編譯程式碼部分需要和centos一樣處理下 注意這次我們版本使用的net5.0 所以映象路徑有所變化

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
FROM mcr.microsoft.com
/dotnet/sdk:5.0 AS build WORKDIR /app COPY . . EXPOSE 7012 ENTRYPOINT ["dotnet", "ShopX.Supplier.Api.dll"]

翻譯過來就是直接把檔案拷貝到 docker 執行目錄為 /app 埠為7012 啟動程式為

ShopX.Supplier.Api.dll

注意這個埠要和程式的執行埠保持一致

3.在釋出後的目錄下執行cmd 啟動命令列模式

按順序執行下面的2個指令,生成映象並啟動容器 這兩部和centos操作是一樣的

#根據當前目錄檔案生成 docker image 名字為 shopx-supplierapi
docker build 
-t shopx-supplierapi . #根據image啟動一個容器 並對映埠為7012 docker run --name=supplierapi -p 7012:7012 -d shopx-supplierapi

效果如下

通過docker images 和docker ps 指令可以看到映象和容器物件 說明二者已經啟動並執行

其實在docker destop中也能看到這些映象和容器

新版docker desktop 容器和映象以及執行狀態都可以顯示在桌面上操作無需再使用指令,Desktop 操作介面:

1.映象列表:如圖右側給出了列表可操作項可刪除或者執行

2.容器列表:如下圖所示可以對容器進行啟動停止刪除等操作 web程式也可以自動開啟瀏覽器訪問 非常方便

而且CLI指令也能自動執行:如下所示可以直接進入容器目錄非常方便

現在我們直接在主機上訪問7012介面測試下:ok 可以正常訪問了

介面資料也是正常的.資料庫連線的是區域網中的另一臺說明windows docker 容器可以 直接和宿主機一樣訪問同區域網內的機器, IP一致,無需另外設定,猜測網路連線模式是host模式 和主機共用IP

在容器介面點選當前容器還能夠看到程式執行狀態和輸出資訊

連日誌資訊輸出也能看到

至此windows docker 測試完成 新版很給力 基本無需再做配置 直接使用即可.