Run graphical process in Docker container, detach and reconnect to the running GUI(在Docker容器中运行图形流程,断开并重新连接到正在运行的图形用户界面)
问题描述
假设我在Python中有一些计算需要很长时间,并且是从Spyder IDE运行的,因此可以轻松地检查结果并将其用于以后的进一步工作。
我想在驻留在服务器机器上的Docker容器内运行Spyder进程(即,不是我坐在前面的同一台机器)。我已经看到像LibreOffice和Chrome这样运行是可能的,所以这应该是可能的。但当用户从容器分离时,这些进程未保持活动状态。
现在的问题是:有没有一种方法可以在Docker容器中打开Spyder进程,手动启动计算,从Docker容器分离,然后重新连接到容器,以便我能够返回到仍在运行的Spyder图形用户界面,以便能够检查计算结果并继续使用它们?
为了简化用户(可能是多个人,但每个人都有自己的容器),我不希望将计算结果保存到一个文件中,然后重新读取它们以供进一步处理。
使用IPython,我可能只需使用Screen来保持解释器的活动状态。但我不知道如何用Spyder实现同样的目标。我可以以某种方式将Spyder"连接"到远程IPython解释器吗?
解决方案:
感谢@JanSuchotzki,我能够让X11-VNC-SERVER-CONTAINER与安装了Spyder的客户机容器一起运行,它可以使用服务器容器来显示图形。在额外设置了环境变量USER
之后,我就能够成功运行Spyder了。只需要调整X11服务器的屏幕大小,不切断Spyder图形用户界面的边缘,一切都很好!
推荐答案
在远程计算机上运行时,您可能希望使用类似vnc的代码。这基本上意味着运行Spyder的容器也充当VNC服务器。现在,您可以通过VNC-CLIENT附加到容器并检查当前状态(与您的IDE交互)。
这也适用于多用户设置,假设每个容器,或者更确切地说,内部运行的VNC服务器在另一个端口上工作。然后您可以简单地根据港口区分不同的集装箱。我已经创建了一个基本映像,用于使用X-Server和VNC-Server运行基于Debian的容器。你可以在我的Docker-Hub Account上看看。在那里您将找到客户端和服务器的映像。
这篇关于在Docker容器中运行图形流程,断开并重新连接到正在运行的图形用户界面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在Docker容器中运行图形流程,断开并重新连接到正在运行的图形用户界面


- 计算测试数量的Python单元测试 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01