本文分享了华为云社区的“ Docker容器,直接将UI程序转换为Web应用程序”。作者:TSJSDBD。
我们可以通过docker容器将应用程序的UI接口投影到应用程序的UI接口到任何网络目标端。
现在:
原理是使用X11协议将接口转换为网络协议并在目标端显示。
但是,此解决方案很难要求:也就是说,必须使用“屏幕软件(X11 Server)”(例如:VCXSRV或MobaxTerm)安装目标端。
然后,如果用户想查看该应用程序的界面,则他必须安装其他软件,并且用户体验不是最好的。
Windows远程桌面,我相信每个人都使用了它。VNC是Linux版本的远程桌面。它可以共享屏幕并通过Internet与客户端共享。
在服务器上安装vncserver。在客户端,安装vncviewer。
但是,Windows有一个远程桌面客户端。对于VNC,用户必须安装VNC-Viewer客户端。它类似于X11解决方案,该解决方案不够方便。
好消息是,VNC-Viewer具有名为novnc.it的网络版本的网页版本,直接打开网页并获取vnc-viewer.for详细信息:https://novnc.com/info.html
因此,我们可以将计划扩展到:
毕竟,浏览器基本上都有每个客户。
因此,您可以看到主要的云制造商,例如华为云的ECS虚拟机,也可以通过使用Novnc来带来虚拟机的接口。可以看到Novnc的产品可靠性仍然可以。
为了促进它,我准备将各种服务器安装到Docker容器中,如下:
最后,我们必须通过HTML访问此容器,因此,当我们开始时,我们必须记住开放端口:
在此容器中,启动上图中的各种服务器。
首先,安装一个名为XVFB的软件,这是一个“虚拟屏幕”,该软件在内存中模拟屏幕。请参阅:
https://en.wikipedia.org/wiki/xvfb
安装:
然后启动“虚拟屏幕”:
其中,1920x1080x24说:屏幕尺寸(分辨率).24是像素深度。
可以根据应用程序的接口效果调整此屏幕的大小。
然后,我们安装X11服务器(因为安装此功能存在交互,因此没有交互模式)
然后启动X11服务器:
其中,红色密码被您自己的密码替换。
最后,我们通过Novnc服务器将VNC转换为HTML服务,并将其转换为
安装:
然后开始:
此处显示变量的作用是指向应用程序的接口到我们的“虚拟屏幕”。
有关详细信息,请阅读我的上一篇文章。
从浏览器访问我们的容器。address(因为我们启动了HTTP默认端口80的容器,因此URL无需在此处设置端口。):
http:// Container ip/vnc.html
填写此处,步骤3我们设置密码。然后您可以看到应用程序的接口:
为了方便所有人,在这里直接提供Dockerfile
然后写一个start-novnc.sh脚本:
最后,当您启动该应用程序时,请记住将其带上:
没关系。
单击以关注,并首次了解华为云新技术?
原始:https://juejin.cn/post/7103777531215478798