我正在尝试使用以下命令在 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;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 [版本 10.0.14393] (c) 2016 Microsoft Corporation。版权所有。
编辑 2:当我在 powershell 中运行命令时,会发生上述“事情”。如果我在 cmd 提示符下运行该命令,则使用 -it 会成功连接。但是 -d 仍然总是退出。
我在这里做错了什么吗?windows server 2016 和 docker 有什么特别之处,这意味着 -d 不起作用?我认为用 -d 启动容器有点基本......
我试过重启服务器,结果一样。
nanoserver 是一个基于 10.0.14393.693 的图像(.823 有一些问题)。
==================
要重新创建问题:
- 启动 EC2 实例或 Azure VM,OS == Windows Server 2016 - 使用容器。
- 在 RDP 中,启动 CMD 窗口(或 Powershell)
- 运行命令:docker run -d microsoft/nanoserver
- 完成后运行命令:docker ps -a
- 验证,容器是活动的还是退出的?
我的期望是应该是活跃的。我的期望错了吗?