詳細可以參考微軟官方文檔:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-3.0
1.先將開發完成的netcore應用發布成文件夾,

2.使用cmd命令切換到這個發布目錄
cd publish/
3.可以使用命令dotnet運行,看是否正常
https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-run?tabs=netcore21
# 切換到開發環境(development區分大小寫) SET ASPNETCORE_ENVIRONMENT=development # 設定端口號 SET ASPNETCORE_URLS=http://*:21022 # 然后運行 dotnet Zhousy.LivestockTrade.Web.Host.dll
4.然后訪問這個地址看是否正常

5.配置Dockerfile文件
#聲明使用的基礎鏡像 FROM mcr.microsoft.com/dotnet/core/aspnet:2.1 AS runtime #設置環境變量,修改.netcore默認端口(多個可以用;分隔) ENV ASPNETCORE_URLS http://*:8085;http://*:8086 ENV ASPNETCORE_ENVIRONMENT staging #設置導出端口,與上面端口一致 EXPOSE 8085 EXPOSE 8086 #設置工作目錄 WORKDIR /app COPY . . #指定應用入口點Zhousy.LivestockTrade.Web.Host.dll代表主程序文件 ENTRYPOINT ["dotnet", "Zhousy.LivestockTrade.Web.Host.dll"]
6.在cmd下去build一個鏡像(注意最后有一個點)
docker build -t zhousy_livestock:latest .
7.build完成之后去run一個容器
與上面端口一致 docker run --name con_zhousy_livestocktrade -p 8085:8085 -p 8086:8086 zhousy_livestocktrade
--name 容器名稱 -p 宿主端口:容器端口 使用的鏡像名稱:鏡像版本
另外也可以不在dockerfile里設置環境變量,而是在run 后面 -e 來設置環境變量,一定要在run后面 -e 不然會無效
docker run -e "ASPNETCORE_ENVIRONMENT=development" -d -p 8085:8085 -p 8086:8086 --name="con_faka_api" faka_api:latest
