Я пытался воспроизвести ваше исключение, но у меня была другая проблема с
mcr.microsoft.com/dotnet/core/runtime:3.1-nanoserver-1903
Я заменил его на
mcr.microsoft.com/dotnet/core/runtime:3.0
Мой Dockerfile теперь выглядит так
FROM mcr.microsoft.com/dotnet/core/runtime:3.0 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build
WORKDIR /src
COPY ["ConsoleApp2/ConsoleApp2.csproj", "ConsoleApp2/"]
RUN dotnet restore "ConsoleApp2/ConsoleApp2.csproj"
COPY . .
WORKDIR "/src/ConsoleApp2"
RUN dotnet build "ConsoleApp2.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "ConsoleApp2.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp2.dll"]
Мой код в ConsoleApp2 выглядит следующим образом
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.WriteLine("Input:");
string input = Console.ReadLine();
Console.WriteLine("Output:");
Console.WriteLine(input);
}
}
Я использовал следующие команды для Docker, но я не получил никакого исключения. И приложение отлично работает.
docker build -t consoleapp .
docker run -ti consoleapp