我正在尝试将一个非常简单的控制台应用程序作为Windows Docker容器运行。我有一个Docker文件,使用“dotnet-framework:4.7.2-runtime-windowsservercore-1803”基本镜像,如下所示:
这个控制台应用程序每5秒钟向日志文件输出“Hello World”。原始答案被翻译为“最初的回答”。
问题在于,一旦我手动构建或运行“docker-compose up -d”,容器就会被创建,然后立即停止。 我期望容器应该保持运行状态,因为入口点中调用了应用程序,并且应用程序应该一直运行,除非手动停止。最初的回答。
FROM microsoft/dotnet-framework:4.7.2-runtime-windowsservercore-1803
ARG source
WORKDIR /app
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT "DockerConsoleApp.exe"
这个控制台应用程序每5秒钟向日志文件输出“Hello World”。原始答案被翻译为“最初的回答”。
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);
}
}
}
I am using the following docker compose file
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”,容器就会被创建,然后立即停止。 我期望容器应该保持运行状态,因为入口点中调用了应用程序,并且应用程序应该一直运行,除非手动停止。最初的回答。
docker logs
。 - Gregory Suvalian