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"]
不幸的是,我不能理清x11vnc和xvfb 。 但是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,以适应你的屏幕: