我有一台没有GUI的服务器(没有任何桌面环境的新鲜Debian或没有X服务器的Ubuntu服务器,先验)。
我考虑安装docker并拉一个基于Ubuntu的官方容器,并在其上添加桌面环境,以便使用常规GUI应用程序。

我在局域网中有一台普通Debian Xfce或Xubuntu的计算机。

是否可以使用第二台计算机打开容器的桌面 session (在无GUI服务器上运行)?
(我想尽可能多地使用标准Debian或Ubuntu软件包,并避免使用外部PPA软件包)

最先进的技术:

  • 我已经看到了NoMachine解决方案:
    在Linux版Docker中构建和部署NoMachine桌面和应用程序
    https://www.nomachine.com/DT10O00161
  • 我的问题是, docker 是在GUI还是无GUI的主机上运行并不明确。 (而且我更喜欢使用Debian或Ubuntu仓库中的软件包)
  • 我也看过Consol docker图像,例如:
    consol / ubuntu-xfce-vnc
    https://hub.docker.com/r/consol/ubuntu-xfce-vnc/
  • 我不确定,但它们似乎也可以在基于GUI的环境中运行。
  • 我也看到了使用Xvfb和x11vnc的解决方案(对不起,这是一个法语网页,但我希望使用常规的onlie工具可以进行翻译):
    实用程序VNC comme界面graphique avec un conteneur docker
    https://www.geeketfier.fr/post/docker-display-on-windows/
  • 我也不确定,但是这个解决方案似乎也在基于GUI的环境中运行。
  • 最佳答案

    我找到了可以解决我的问题的docker镜像:docker-x2go-xubuntu:
    https://hub.docker.com/r/paimpozhil/docker-x2go-xubuntu

    我在没有GUI的服务器上构建了它,并按照docker hub上的说明运行了它。

    在第二台计算机上,我打开了一条指向GUIless服务器的ssh隧道,该隧道指向docker接口(interface):

    ssh -CY -L 33333:container.docker.ip:2222 -l guilessuserlogin guiless.server.ip
    

    (我通过GUIless服务器上的ifconfig检索了容器IP)

    在第二台计算机上,我从常规存储库安装了x2goclient,并配置了一个 session 以连接到localhost:33333

    连接后, docker 计算机的GUI桌面将完全可用。

    10-08 03:05