通过 docker-compose 运行 Windows 服务器容器会立即退出

Running a Windows server container via docker-compose exits immediately

提问人:KristianMedK 提问时间:11/14/2023 最后编辑:KristianMedK 更新时间:11/15/2023 访问量:20

问:

我正在尝试通过docker-compose启动Windows服务器,但似乎无法保持其运行。

据我所知,保持这样的东西运行的方法是使用 ping -t 作为入口点,但这对我不起作用。

我可以让它在一个简单的docker运行命令中工作

docker run mcr.microsoft.com/windows/server:ltsc2022 ping -t localhost

但是我的docker-compose文件失败了,出现以下情况:

Error response from daemon: container 0a78346ecd083493e85206f1fc255e5b31b0bcfa835268b1445be2cb769619ac encountered an error during hcs::System::CreateProcess: failure in a Windows system call: The system cannot find the file specified. (0x2)
[Event Detail:  Provider: 00000000-0000-0000-0000-000000000000]
[Event Detail:  Provider: 00000000-0000-0000-0000-000000000000]
[Event Detail: onecore\vm\compute\management\orchestration\vmhostedcontainer\processmanagement.cpp(173)\vmcomputeagent.exe!00007FF723B000AD: (caller: 00007FF723AA4BB7) Exception(2) tid(3c4) 80070002 The system cannot find the file specified.
    CallContext:[\Bridge_ProcessMessage\VmHostedContainer_ExecuteProcess]
 Provider: 00000000-0000-0000-0000-000000000000]

我的docker-compose文件如下所示:

services:
  testserver:
    image: mcr.microsoft.com/windows/server:ltsc2022
    container_name: testserver
    entrypoint: ["cmd.exe /c ping -t localhost"]

这个问题阻止了我以前使用 docker 运行测试应用程序,但似乎从 MS 提供的映像之一启动 af 服务器应该相当简单。

我正在运行 Docker for Desktop,并且引擎设置为 Windows 容器。

docker-compose windows-server docker-desktop

评论


答:

0赞 KristianMedK 11/15/2023 #1

原来我让你使用“命令”而不是“入口点”

更改了我的docker-compose文件,现在容器继续运行。

版本: '3'

services:
  windows-server-container:
    image: mcr.microsoft.com/windows/server:ltsc2022
    container_name: testserver
    command: cmd /C "ping -t localhost > NULL"