1. 安裝docker-desktop,windows環境安裝包
官方網站:https://www.docker.com/
2.注冊登陸Docker賬號
安裝成功后,在官方網站注冊一個賬號,使用賬號登陸docker,然后windows的Hyper-V虛擬機就有一個新的虛擬機了

注意:登陸Docker不能使用郵箱作為賬號,否則使用Docker的編譯發布鏡像的時候,會出現無法驗證的錯誤
Get https://registry-1.docker.io/v2/microsoft/dotnet/manifests/latest: unauthorized: incorrect username or password
3.創建core的項目,確保能在本地運行。測試項目綁定本地的5000端口
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseUrls("http://*:5000") .UseStartup<Startup>() .Build();
4.使用vs發布生成代碼

5.發布成功后,publish文件夾添加Dockerfile文件,文件內容如下
# 基於microsoft/dotnet:latest構建Docker Image FROM microsoft/dotnet:latest # 進入docker中的/usr/local/src目錄 RUN cd /usr/local/src # 創建DockerWebAPI目錄 RUN mkdir DockerTest # 設置工作路徑 WORKDIR /usr/local/src/DockerTest # 將當前文件夾下的所有文件全部復制到工作目錄 COPY *.* ./ # 向外界暴露5000端口 EXPOSE 5000 # 執行dotnet DockerWebAPI.dll命令 CMD ["dotnet", "DockerTest.dll"]
microsoft/dotnet:latest 是最新的包,打包后的鏡像文件可能有1G以上
microsoft/dotnet:2.1-aspnetcore-runtime 2.1的運行時包,比較小
其他.net core 鏡像環境可以自己去找
6.發布到docker,紅字部分為docker鏡像名稱
docker build -t dotnet/dockertest .
7.啟動鏡像
docker run -it -p 8080:5000 dotnet/dockertest
成功后如下圖所示

-----------------------------------------
附加:
錯誤1:
啟動鏡像時,*.deps.json缺少

解決辦法:
項目文件csproj,添加配置
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>

修改配置后從步驟4開始重新發布!
