Docker运行nanoserver无法启动

时间:2017-03-06 22:08:23

标签: docker nano-server

我正尝试使用此命令在Windows Server 2016(ec2实例或Azure VM)上运行nanoserver映像:

docker run -d --name nanoms microsoft/nanoserver:latest

编辑:实际上它不仅仅是nanoserver,我遇到运行microsoft / windowsservercore:latest的同样问题。

但是如果我然后运行( docker ps -a ),那么它将显示状态为已退出。 Docker记录nanoms - 仅显示“c:>” (所以没有错误)

如果我使用 -it 而不是 -d ,那么它会显示一些“东西”并挂起,直到我点击ctrl-C,但它实际上已经启动,我可以'登录'!

'东西'显示:

  

[2J [H [1H [37;40米[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 [版本10.0.14393](c)2016 Microsoft   公司。保留所有权利。

编辑2:当我在powershell中运行命令时,会发生上述'东西'。如果我在cmd提示符下运行该命令,则使用-it会成功连接。但仍然总是退出。

我在这里做错了吗? Windows服务器2016和docker有什么特别的东西,这意味着-d不起作用?使用-d启动容器有点基础我会想......

我尝试重启服务器,结果相同。

纳米服务器基于10.0.14393.693的图像(.823有一些问题)。

=================

重新创建问题:

  1. 使用容器启动EC2实例或Azure VM,OS == Windows Server 2016。
  2. RDP in,启动CMD窗口(或Powershell)
  3. 运行命令:docker run -d microsoft / nanoserver
  4. 完成后,运行命令:docker ps -a
  5. 验证,容器是处于活动状态还是已退出?
  6. 我的期望是应该是活跃的。我的期望是错的吗?

2 个答案:

答案 0 :(得分:2)

是的,你的期望是错误的:)

容器需要运行一些东西。例如,使用-it参数运行时创建的命令提示符。明确指定popwershell可能会更适合你...

docker run --name nanoms microsoft/nanoserver:latest -it powershell

答案 1 :(得分:1)

Nanoserver容器默认运行CMD只需添加-d -it和voila。

docker run -d -it mcr.microsoft.com/windows/nanoserver:1803