我有一个GUI应用程序的镜像,基于微软/ windowsservercore的基础镜像。应用程序已在镜像中正确安装,但我无法在主机上显示它。我在Google上阅读了几篇文章,并建议安装XServer for Windows,然后我们可以在主机上显示应用程序。我一直试图运行以下命令(如大多数文章中建议的),但它没有任何作用,我没有得到显示。请协助。
docker run --rm -it -e DISPLAY=127.0.0.1:0.0 eft
我有一个GUI应用程序的镜像,基于微软/ windowsservercore的基础镜像。应用程序已在镜像中正确安装,但我无法在主机上显示它。我在Google上阅读了几篇文章,并建议安装XServer for Windows,然后我们可以在主机上显示应用程序。我一直试图运行以下命令(如大多数文章中建议的),但它没有任何作用,我没有得到显示。请协助。
docker run --rm -it -e DISPLAY=127.0.0.1:0.0 eft
DISPLAY
对于 Linux 容器非常有用。
正如 此处提到的:
WindwosServerCore 镜像不带有 UI 应用程序的二进制文件,因此我怀疑这在 servercore 镜像中永远不会起作用,但是微软内部人员可以使用新的更大的 WindwosServer 镜像,我相信其中包含了这些库。
这个 线程补充道:
我知道你可以运行GUI应用程序,但渲染元素不会显示在任何桌面上。Lars Iwer [MSFT] 在下面的讨论中写道:
在当前的容器映像中,GUI元素将在Session 0中呈现。 UI自动化应该可以与之配合(例如,以编程方式搜索窗口等)。
Session 0是运行所有系统服务的会话,根据定义是非交互式的。在Windows(NT)中,会话、站点和桌面是隔离的手段,应用程序是否可以显示UI并接收用户交互取决于它是否具有访问带有桌面的站点的权限。
默认情况下,Session 0中的进程没有这个权限。
但是过去“允许服务与桌面交互”是可能的,并且也可以在Session 0以外的其他会话中运行交互式服务(请注意“as it is right now”)。因此,从Microsoft/Docker团队获得一些专家见解将是有趣的…