docker - Docker运行nanoserver无法启动

标签 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;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. All rights reserved.



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

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

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

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

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

重新创建问题:
  • 使用容器启动EC2实例或Azure VM,操作系统== Windows Server 2016。
  • 进入
  • RDP,启动CMD窗口(或Powershell)
  • 运行命令:docker run -d microsoft / nanoserver
  • 完成后,运行命令:docker ps -a
  • 验证,容器是 Activity 的还是退出的?

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

    最佳答案

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

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

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

    关于docker - Docker运行nanoserver无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42636527/

    相关文章:

    docker - 尝试将应用程序移植到 docker nanoserver 容器。运行 exe 失败,退出代码为 -1073741515(缺少依赖关系)

    windows - 如何使用 Powershell 在 Docker RUN 命令中扩展参数?

    docker - 在 Google Compute Engine 上加载静态文件

    powershell - 在 Nano 服务器中设置机器范围的环境变量

    git - Git在NanoServer中不起作用(在Docker中)

    windows - wget 没有使用基于环境变量的代理设置

    docker - Dockerfile 上的 "COPY ./your/directory"是否会自行复制 Dockerfile?

    meteor - 同一主机上容器之间的 meteor DDP调用

    linux - 使用 Apache httpd.conf 文件的 Docker 卷权限

    docker - Docker 内部的 Electron 与 X11 转发 - 未指定协议(protocol)