Docker制作dotnet core控制台程序镜像


Docker制作dotnet core控制台程序镜像

创建控制台程序

$ dotnet new console

dockerfile文件:

#成功运行
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app/
COPY ./bin/Debug/netcoreapp3.1 /app/
ENTRYPOINT ["dotnet", "console.dll"]
#成功运行
FROM mcr.microsoft.com/dotnet/sdk:3.1 as build-env
WORKDIR /code

COPY *.csproj /code/
RUN dotnet restore

COPY . /code/
RUN dotnet publish -c Release -o out    

FROM mcr.microsoft.com/dotnet/aspnet:3.1
WORKDIR  /app
COPY --from=build-env /code/out /app/
ENTRYPOINT ["dotnet","console.dll"]

docker build 命令用于使用 Dockerfile 创建镜像

$ docker build -t console:dev .

$ docker run console:dev sleep 100
Hello World from docker !
Thread.Sleep(Timeout.Infinite);//无限期挂起进程

Docker中Dockerfile多From 指令存在的意义