问题最清楚,
如何在Docker 远程容器中启动完整的桌面环境(KDE,XFCE,Gnome并不重要)。
我正在挖掘互联网和there are lots关于相关主题的问题,但不一样,他们都是关于如何运行GUI 应用程序不是完整的桌面。
我发现了什么:
但实际上我被困在这里,总是得到任何错误:
... (EE) Invalid screen configuration 1024x768 for -screen 0
... Cannot open /dev/tty0 (No such file or directory)
你能否给出一些Dockerfile行以达到目标?
答案 0 :(得分:3)
这就是我在寻找,Docker中最简单的桌面形式:
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
此外,您无关心屏幕分辨率,因为默认情况下它会调整大小以适合您的屏幕:
您可能还会遇到issue with ipc_channel_posix(Chrome和其他浏览器无法正常工作)以使用memory sharing消除此运行容器:
docker run -d --shm-size=2g --privileged -p 5901:5901 image-name
答案 1 :(得分:2)
x11docker allows to run desktop environments as well as single GUI applications in docker.
你能否给出一些Dockerfile行以达到目标?
Example desktop images on docker hub
x11docker进行了大量设置以保持容器隔离,并提供一些额外的选项,如硬件加速或脉冲音频声音。例如:
x11docker --desktop x11docker/lxde
x11docker也支持network setups with SSH, VNC and HTML5
使用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