我试图使用此命令在Windows Server 2016(ec2实例或Azure VM)上运行nanoserver映像:
docker run -d --name nanoms microsoft/nanoserver:latest
编辑:实际上它不仅仅是nanoserver,我遇到运行microsoft / windowsservercore:latest的同样问题 .
但是如果我然后运行(docker ps -a)它然后显示状态为Exited . Docker记录nanoms - 只显示"c:>"(所以没有错误)
如果我使用-it而不是-d然后它会显示一些'stuff'并挂起,直到我点击ctrl-C,但它实际上已经开始了,我可以'login'!
'东西'显示:
[2J [H [1H [37; 40m [K [2H [K [3H [K [4H [K [5H [K [6H [K] [7H [K [8H [K] [9H [K [10H [K] 11H [K [12H [K [13H [K [14H [K [15H [K [16H [K [17H [K] [18H [K [19H [K] [20H [K] [21H [K [22H [K] [23H [ K [24H [K [25H [K [1; 1HMicrosoft Windows [Version 10.0.14393](c)2016 Microsoft Corporation . 版权所有 .
编辑2:当我在powershell中运行命令时,会发生上述'stuff' . 如果我在cmd提示符下运行该命令,则使用-it会成功连接 . 但是-d仍然总是退出 .
我在这里做错了吗? Windows服务器2016和docker有什么特别的东西,这意味着-d不起作用?使用-d启动容器有点基础我会想...
我试过重启服务器,结果相同 .
纳米服务器是基于10.0.14393.693的图像(.823有一些问题) .
=================
要重新创建问题:
-
使用容器启动EC2实例或Azure VM,OS == Windows Server 2016 .
-
RDP in,启动CMD窗口(或Powershell)
-
运行命令:docker run -d microsoft / nanoserver
-
完成后,运行命令:docker ps -a
-
验证,容器是活动还是退出?
我的期望是应该是活跃的 . 我的期望是错的吗?
1 回答
是的,你的期望是错误的:)
容器需要运行一些东西 . 例如,使用-it参数运行时创建的命令提示符 . 明确指定popwershell可能会更好地为您服务...