Я пытаюсь запустить очень простое консольное приложение в качестве контейнера Windows Docker.У меня есть файл Docker, показанный ниже с использованием базового образа «dotnet-framework: 4.7.2-runtime-windowsservercore-1803».
FROM microsoft/dotnet-framework:4.7.2-runtime-windowsservercore-1803
ARG source
WORKDIR /app
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT "DockerConsoleApp.exe"
Консольное приложение просто выводит «Hello World» в файл журнала каждый5 секунд "
static void Main(string[] args)
{
while (true)
{
try
{
Thread.Sleep(5000);
_logger.Info("Hello Wolrd");
}
catch (Exception e)
{
//handle the exception
Console.Error.WriteLine(e);
}
}
}
Я использую следующий файл компоновки Docker
version: '3.4'
services:
dockerconsoleapp:
image: dockerconsoleapp:dev
build:
context: .\
args:
source: obj\Docker\publish
volumes:
- C:\Users\user\source\repos\DockerConsoleApp\DockerConsoleApp:C:\app
- C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Remote Debugger:C:\remote_debugger:ro
- C:\Users\user\source\repos\DockerConsoleApp\VolumeTest:C:\app\logs
Проблема в том, что как только я вручную создаю или запускаю" Docker-compose up -d ",Контейнер создается, а затем сразу же умирает. Я ожидаю, что контейнер должен оставаться активным, учитывая, что приложение вызывается в точке входа, и приложение должно просто продолжать работать, если не будет остановлено вручную.