給.Net Core添加Docker文件支持和運行

一、添加一個Dockerfile文件,將其移到解決方案文件夾,模板以下:sql

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /app

# copy csproj and restore as distinct layers
COPY *.sln .
COPY aspnetapp/*.csproj ./aspnetapp/
RUN dotnet restore
 
# copy everything else and build app
COPY aspnetapp/. ./aspnetapp/
WORKDIR /app/aspnetapp
RUN dotnet publish -c Release -o out
 
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime
WORKDIR /app
COPY --from=build /app/aspnetapp/out ./
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS Build
WORKDIR /app
  
# copy csproj and restore as distinct layers
COPY *.sln .
COPY NetCore-Learn-LocalMsSql/*.csproj ./NetCore-Learn-LocalMsSql/
RUN dotnet restore
 
# copy everything else and build app
COPY NetCore-Learn-LocalMsSql/. ./NetCore-Learn-LocalMsSql/
WORKDIR /app/NetCore-Learn-LocalMsSql
RUN dotnet publish -c Release -o out
 
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime
WORKDIR /app
COPY --from=build /app/NetCore-Learn-LocalMsSql/out ./
ENTRYPOINT ["dotnet", "NetCore-Learn-LocalMsSql.dll"]

二、切換到解決方案文件夾,PS運行開始Build,注意須要小寫。docker

docker build -t netcore-learn-localmsql .

三、Docker Images查看鏡像建立狀況
app

四、指定端口,開始運行。ui

docker run -it -p 3000:80 --name netcorelearnlocalmssql netcorelearnlocalmssql:latest

相關文章
相關標籤/搜索