1、添加一個Dockerfile文件,將其移到解決方案文件夾,模板如下:
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"]
2、切換到解決方案文件夾,PS運行開始Build,注意需要小寫。
docker build -t netcore-learn-localmsql .
3、Docker Images查看鏡像創建情況
4、指定端口,開始運行。
docker run -it -p 3000:80 --name netcorelearnlocalmssql netcorelearnlocalmssql:latest