Docker运行桌面环境

2023-12-30

这个问题最清楚了
如何在Docker中启动完整的桌面环境(KDE、XFCE、Gnome无所谓)remote容器。

我在互联网上挖掘there https://stackoverflow.com/questions/16296753/can-you-run-gui-apps-in-a-docker-container are https://stackoverflow.com/questions/25281992/alternatives-to-ssh-x11-forwarding-for-docker-containers/25334301#25334301 lots https://stackoverflow.com/questions/37444835/docker-with-gui-application关于相关主题的问题,但不相同,它们都是关于如何运行 GUI应用不是完整的桌面。

我发现了什么:

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

但我实际上被困在这里,总是遇到任何错误:

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

您能否提供一些 Dockerfile 行以实现目标?


这就是我一直在寻找的最简单的形式desktop在 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 and xvfb. But TigerVNC http://tigervnc.org/结果好多了。

此示例使用 xfce gui 生成容器并运行虚拟网络服务器密码为123456。有no need覆盖〜/.vnc/xstartup手动,因为 TigerVNC 默认启动 X 服务器!

运行服务器:

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

在那里连接虚拟网络查看器 http://tigervnc.org/doc/vncviewer.html:

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

Also you could not care about screen resolution because by default it will resize to fit your screen: F8 vncviewer menu

您可能还会遇到ipc_channel_posix 问题 https://github.com/SeleniumHQ/docker-selenium/issues/388(chrome和其他浏览器将无法正常工作)消除这个运行容器内存共享 https://github.com/SeleniumHQ/docker-selenium#running-the-images:

docker run -d --shm-size=2g --privileged -p 5901:5901 image-name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker运行桌面环境 的相关文章

随机推荐