【问题标题】:Docker run nanoserver not startingDocker 运行 nanoserver 未启动
【发布时间】:2017-03-06 22:08:23
【问题描述】:

我正在尝试使用以下命令在 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 公司。保留所有权利。

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

我在这里做错了吗? windows server 2016 和 docker 有什么特别之处,这意味着 -d 不起作用?我认为使用 -d 启动容器有点基本......

我试过重启服务器,结果一样。

nanoserver 是一个基于 10.0.14393.693 的图像(.823 有一些问题)。

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

重现问题:

  1. 启动 EC2 实例或 Azure VM,操作系统 == Windows Server 2016 - 使用容器。
  2. RDP 进入,启动 CMD 窗口(或 Powershell)
  3. 运行命令:docker run -d microsoft/nanoserver
  4. 完成后运行命令:docker ps -a
  5. 验证,容器是活动的还是退出的?

我的期望是应该是活跃的。我的预期错了吗?

【问题讨论】:

    标签: docker nano-server


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-17
        • 1970-01-01
        • 2016-09-07
        • 2023-02-10
        • 1970-01-01
        相关资源
        最近更新 更多