Docker 中的完整桌面进一步阅读...

2025-06-09

Docker 中的完整桌面

进一步阅读...

如果你不知道什么是 Docker?首先,请阅读这篇文章:Desi(外行)语言入门 Dockers。这篇文章在过去 20 天内的阅读量已超过 9000,并且还在持续增长。

我们今天正在建造什么?

我们正在Docker 容器内构建一个功能齐全的桌面。Ubuntu 最新版本Focal Fossa(即 Ubuntu:20.04)用于构建此容器。桌面环境是Xfce,Windows 主题来自b00merang 项目,壁纸来自pixabay

VNC 和 RDP 是两种连接远程桌面的技术。我使用的是 RDP,VNC 留给你自己尝试吧 :)

截图:

替代文本
替代文本
替代文本

桌面在小屏幕移动设备上的显示效果如下:
替代文本

我们为什么要建造?

(1) 你可以在 Google 上找到许多带有“桌面环境”的 docker 镜像。但这些镜像是自定义构建的,也就是说,为了保持轻量级,它们保留了自由办公套件等组件。
(2) 使用 docker 镜像,你只需单击一下即可旋转桌面。

为什么选择 Xfce 桌面环境?

Xfce 比 mate 和 gnome 更轻量。由于更轻量,容器内的性能也更好。

如何在docker容器中创建桌面?

(1)拉取镜像并运行: manishfoodtechs/xfcefulldesktop_ubuntu20.4

docker run -it -p 9096:3389 -e 3389 --shm-size 2g manishfoodtechs/xfcefulldesktop_ubuntu20.4

在上面的命令中:

  • 我们正在打开主机 9096 端口来监听容器 3389 端口。您可以使用任何端口代替 9096,但端口 3389 是 xrdp 的标准端口。
  • 我们使用 -e 3389 暴露容器的 3389 端口
  • 指定 shm-size 2g 是为了防止 Firefox 崩溃。

看看这个终端图像:

替代文本

(2)启动xrdp服务:

/etc/init.d/xrdp restart

在上面的命令中:
-我们正在启动 xrdp

然后,在 PC 的 RDP 客户端中访问hostip:9096 。更多关于 RDP 的信息,请点击此处

用户 ID:root,密码:123456。请不要忘记使用命令更改密码passwd root并添加更多用户。

(3)故障排除:

  • 等待黑屏/蓝屏 20-30 秒后桌面就会启动。
  • 如果 rdp 没有连接,则进入容器 shell 并/etc/init.d/xrdp restart按照步骤 (2) 中的方式运行。

重要提示:
Docker 并非用于运行完整的桌面,而是用于运行应用程序。最接近虚拟机的容器是 LXD。如果你读过我上面提到的文章(Desi 语言的 Docker),你就能用 LXD 容器运行桌面。

更多的?

尝试通过 gvisor 使用 podman 拉取容器。


我希望大家喜欢上面的文章并且学到一些东西。

IMP 请求:
非常欢迎您通过加入表格加入我的团队。
如果您能帮助保护人类免受冠状病毒爆发等各种疾病侵害的开源项目,我们也非常欢迎您加入开源智能系统 (OSINT)
https://github.com/Manishfoodtechs/OSINTHRH/wiki

联系邮箱:Manishfoodtechs@gmail.com

如果您有任何问题,我们的团队也提供专业的咨询和交付。

图片来源:manish srivastava
进一步阅读:x11docker 和 dx-11 https://dev.to/brickpop/my-dream-come-true-launching-gui-docker-sessions-with-dx11-in-seconds-1a53
鏂囩珷鏉ユ簮锛�https://dev.to/manishfoodtechs/full-desktop-in-docker-5c3n
PREV
React 中的去抖输入
NEXT
DOCKER INSIDE DOCKER 方法 3:使用 Sysbox Runtime 在 Docker 中运行 Docker