Я использовал Visual Studio 2017 (в Windows) для создания своего .Net Core App
и пытаюсь запустить его внутри док-контейнера. Основываясь на их веб-сайте, приложения .NET Core должны позволить нам, разработчикам, создавать кроссплатформенное совместимое программное обеспечение;
.NET Core — это кроссплатформенная версия .NET для создания веб-сайтов, служб и консольных приложений.
Моя попытка состояла в том, чтобы создать консольное приложение .NET Core;
using System;
using Newtonsoft.Json;
namespace Services
{
class Program
{
static void Main(string[] args)
{
if (Enum.TryParse(
typeof(LoremIpsumGenerator.TypeOfGenerator),
args[0],
true,
out var testParse))
{
Console.WriteLine(
JsonConvert.SerializeObject(
LoremIpsumGenerator
.GenerateText(
int.Parse(args[1]),
(LoremIpsumGenerator.TypeOfGenerator) testParse)));
}
Console.WriteLine("Wrong Parameters!");
}
}
}
Опубликуйте его через dotnet publish
и запустите следующим образом;
FROM microsoft/aspnetcore:1.0.13-nanoserver-sac2016 AS base
WORKDIR /Services
COPY /bin/Debug/netcoreapp2.0/publish/ .
ENTRYPOINT ["dotnet", "DockerConsoleTestApp.dll"]
.. однако я всегда получаю следующее сообщение об ошибке;
image operating system "windows" cannot be used on this platform
.. что я интерпретирую как «Вы должны использовать Windows-контейнер для запуска этого». Но теперь я в замешательстве, поскольку и мое консольное приложение, и мой контейнер должны быть кросс-платформенными, верно? Или я что-то упускаю?