当前位置: 首页 > 面试题库 >

Windows 10 Docker主机-从Linux容器显示GUI应用程序

薛弘厚
2023-03-14
问题内容

我正在尝试使用Windows
10作为主机并运行包含基于gui的应用程序的Docker容器,并使用X11转发或类似方式显示它们。我在网上发现了几乎所有有关Linux主机到Linux容器的信息(示例-http://fabiorehm.com/blog/2014/09/11/running-
gui-apps-with-docker
),其中套接字/ x11权限被暴露。我发现的其他信息来自Boot2Docker /
Windows的先前实现,其中virtualbox是安装过程和必需的VNC的一部分。

当前的基本设置,是否有人知道需要进行哪些调整才能使Firefox在主机系统的窗口中显示?-

在Windows 10主机上启动XMing服务器

Docker文件

FROM ubuntu:14.04
RUN apt-get update && apt-get install -y firefox
CMD /usr/bin/firefox

指令

PS> docker build -t firefox .
PS> set-variable -name DISPLAY -value localhost:0.0
PS> docker run -ti --rm -e DISPLAY=$DISPLAY firefox

谢谢


问题答案:

您需要将DISPLAY设置为以外的其他值localhost。容器具有其自己的localhost接口,因此您的X11客户端将尝试连接到自身而不是主机。

相反,您可以传入Windows计算机网络适配器的IP地址。容器将能够连接到该容器。您还需要将X11服务器配置为在该接口上进行侦听。



 类似资料:
  • 我想在docker容器中运行Firefox(或任何图形应用程序)。 我的要求:当我启动容器时,我应该创建一个虚拟显示器,启动VNC服务器,然后启动GUI应用程序。这意味着容器成功启动后,我可以通过VNC客户端连接到容器内运行的GUI应用程序。当我关闭应用程序时,容器应该自动停止。 尝试1:我从这里的例子开始https://hub.docker.com/r/devopsil/vnc-firefox/

  • 如何在Linux Docker容器中运行GUI应用程序? 是否有任何图片设置或其他东西,使您可以--例如--添加一个额外的speedbump沙箱,比方说Firefox?

  • 问题内容: 我尝试在具有/tmp/.X11-unix装载的容器docker中运行一些Qt应用程序。我在这里看到 这可能很困难。 因此,当我在容器docker中运行kdevelop时,它不起作用(我有一个空窗口)。但是如果我运行qtcreator很好。 我认为差异来自Qt版本(kdevelop在Qt4和qtcreator在Qt5中开发)。我所有其他的qt5应用程序都可以正常工作,但在qt4中却没有一

  • 问题内容: 是否有可能通过cron在终端或任何其他GUI中显示结果。 例如,我只编写了一个脚本来显示每分钟在终端的时间。但它什么也没做。因此cron可以在GUI中显示结果。 问题答案: 您可以通过将变量设置为来执行此操作。例如: 此crontab行将每分钟打开gui软件gedit。

  • 在Windows上: 我刚刚通过创建了应用程序,并为此创建了Dockerfile: 然后我打开wsl2,进入并构建了并启动了它。 我看到它在跑 还有正确的日志: 但是我不确定我怎么能连接到它?

  • 问题内容: 我正在开发服务,并在那里使用docker compose来旋转诸如postgres,redis,elasticsearch之类的服务。我有一个基于RubyOnRails的Web应用程序,并从所有这些服务中进行读写操作。 这是我的 我可以在此网络中ping容器 到目前为止,一切都很好。现在我想在主机上的Rails应用程序上运行ruby,但是能够像目前这样使用url访问postgres实例