Docker运行桌面环境

问题是最清楚的,
如何在Docker 远程容器中启动完整的桌面环境(KDE,XFCE,Gnome无关紧要)。

我正在挖掘互联网,关于相关主题有 很多问题,但不一样,他们都关于如何运行GUI 应用程序,而不是完整的桌面。

我发现:

  • 必要的运行Xvfb
  • 以某种方式在该FrameBuffer中运行例如Xfce
  • 允许x11vnc共享正在运行的X环境

但是我实际上卡在这里,总是得到任何错误:

... (EE) Invalid screen configuration 1024x768 for -screen 0 ... Cannot open /dev/tty0 (No such file or directory) 

你可以给一些Dockerfile行,以达到目标?

x11docker允许在docker中运行桌面环境以及单个GUI应用程序。

你可以给一些Dockerfile行,以达到目标?

Docker集线器上的示例桌面图像 。

x11docker做了很多的设置来保持容器的隔离,并提供了一些额外的选项,如硬件加速或pulseaudio声音。 例:

 x11docker --desktop x11docker/lxde 

x11docker还支持SSH,VNC和HTML5的networking设置

使用xpra进行SSH设置的示例:

 read Xenv < <(x11docker --xdummy --display=30 x11docker/lxde pcmanfm) echo $Xenv && export $Xenv # replace "start" with "start-desktop" to forward a desktop environment xpra start :30 --use-display --start-via-proxy=no 

从客户端系统连接

 xpra attach ssh:HOSTNAME:30 # replace HOSTNAME with IP or host name of ssh server 

没有x11docker:

在主机上使用Xephyr作为嵌套X服务器的一个很短的设置是:

 Xephyr :1 docker run -v /tmp/.X11-unix/X1:/tmp/.X11-unix/X1:rw \ -e DISPLAY=:1 \ x11docker/xfce 

Xfce桌面的一个短的Dockerfile:

 FROM debian:stretch ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y --no-install-recommends xfce4 dbus-x11 CMD startxfce4 

那就是我正在寻找的Docker中最简单的桌面forms:

 FROM ubuntu RUN apt-get update RUN apt-get install xfce4 -y RUN apt-get install xfce4-goodies -y RUN apt-get purge -y pm-utils xscreensaver* RUN apt-get install wget -y EXPOSE 5901 RUN wget -qO- https://dl.bintray.com/tigervnc/stable/tigervnc-1.8.0.x86_64.tar.gz | tar xz --strip 1 -C / RUN mkdir ~/.vnc RUN echo "123456" | vncpasswd -f >> ~/.vnc/passwd RUN chmod 600 ~/.vnc/passwd CMD ["/usr/bin/vncserver", "-fg"] 

不幸的是,我不能理清x11vncxvfb 。 但是TigerVNC变得更好了。

本示例使用xfce gui生成容器,并使用123456密码运行vncserver不需要手动覆盖〜/ .vnc / xstartup ,因为TigerVNC默认启动X服务器!

运行服务器:

 sudo docker run --rm -dti -p 5901:5901 3ab3e0e7cb 

用vncviewer连接:

 vncviewer -AutoSelect 0 -QualityLevel 9 -CompressLevel 0 192.168.1.100:5901 

你也不会在意屏幕分辨率,因为默认情况下,它将resize,以适应你的屏幕: F8 vncviewer menu