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);//无限期挂起进程