【问题标题】:Error running windows containers on windows 2019 server在 Windows 2019 服务器上运行 Windows 容器时出错
【发布时间】:2021-08-07 17:39:30
【问题描述】:

在windows 2019 server中,我已经成功安装了Docker(服务器版本:19.03.14),windows服务已经启动并运行。我正在使用 Windows 容器,我写的非常基础 如下所示的 dockerfile 以显示回显消息。

FROM mcr.microsoft.com/windows/nanoserver:1809 
CMD ["echo", "Hello World !!"]

我能够成功构建我的图像而没有任何问题(图像名称 hello:v1)

In C:\Users\******>docker images
REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
hello                                  v1                  2b1523c901c9        7 days ago          252MB
mcr.microsoft.com/windows/servercore   ltsc2019            152749f71f8f        5 weeks ago         5.27GB
mcr.microsoft.com/windows/nanoserver   1809                5513a3d12ed6        5 weeks ago         252MB

问题来了,当我尝试运行容器时。当我运行以下命令以启动\运行容器时,会话将自动注销。我必须再次登录新会话。

C:\Users\*******>docker run hello:v1

服务器详情:

  • 版本:Windows Server 2019 标准版
  • 版本:1809
  • 操作系统版本:17763.1879

【问题讨论】:

  • 因为主进程停止时容器会停止运行,在你的情况下,进程是echo,所以容器在echo "Hello World !!"之后停止
  • 嗨@frank_lee,我明白,如果这是我应该看到消息“Hello World !!”的原因由容器打印。但是,这并没有发生,在 docker run 命令中没有任何响应,而不是我的会话正在注销。
  • 这里的会话不是容器会话,Windows 服务器远程登录会话 (RDP)

标签: docker windows-server-2019 windows-container


【解决方案1】:

试试这个

FROM mcr.microsoft.com/windows/nanoserver:1809 
CMD echo Hello World!

【讨论】:

  • 现在它显示消息 0n docker run command, C:\Users******>docker run image Hello World!
  • 但是,我想在这里了解 2 个问题 1)为什么我的服务器会话在容器进程完成后仍然被注销?它要求我重新登录新会话以访问服务器? 2)一旦登录到新会话,看不到任何容器,我同意不应该有任何正在运行的容器,但至少前一个容器应该以停止状态列出,这没有发生。 C:\Users****>docker ps -a CONTAINER ID 图像命令创建状态端口名称
  • 你可以试试docker run -d IMAGE_NAME检查问题是否仍然存在
  • 是的,它仍然存在(会话注销)。但是,这一次它没有显示消息,而是显示一些 id 为 e177de856jkl34tw32n ..........并且会话已注销。
  • 嗨@frank_lee,这里有什么想法吗?
猜你喜欢
  • 2020-02-05
  • 1970-01-01
  • 2021-08-24
  • 2016-08-13
  • 2021-09-29
  • 2011-09-06
  • 1970-01-01
  • 2019-08-01
  • 2011-09-08
相关资源
最近更新 更多