Docker Webtop 是 LinuxServer.io 团队开发的一个开源项目,提供了一个基于浏览器的全功能桌面环境,可以直接在 Docker 容器中运行。通过将 Web 应用和传统桌面应用相结合,Docker Webtop 使远程工作和协作更加高效和便捷。
Docker Webtop 集成了多个关键组件,包括 Xvfb(一个无头的 X Server,用于在后台运行图形应用程序,避免实际的显示器需求)、x11docker(负责将图形输出转发到 VNC 服务器或本地 X Server)、WebRTC(支持实时音视频通信,为远程桌面提供流畅的交互体验)以及 NoVNC(一个基于 Web 的 VNC 客户端,使得用户可以在任何支持 HTML5 的现代浏览器中访问桌面环境)。
此外,Docker Webtop 还集成了其他实用工具,如文件管理器、文本编辑器和终端模拟器,以便用户在浏览器内进行日常操作。
Docker Webtop 的图像支持多种架构,如 x86-64 和 arm64 等,并提供了基于 Alpine 和 Ubuntu 的容器,包含官方支持的完整桌面环境,可通过任何现代 Web 浏览器访问。Docker Webtop 在 Docker Hub 上的下载量也相对较高,显示出其受欢迎程度。
总的来说,Docker Webtop 是一个功能强大、易于使用的开源项目,通过 Docker 容器技术为用户提供了一个完整的桌面环境,并支持远程工作和协作。如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。
搭建教程
本文通过 Docker 的方式来部署 Docker Webtop,以 Ubuntu 为例,操作步骤如下:
第一步:安装 Docker
sudo apt update
sudo apt install -y docker.io docker-compose
第二步:创建 docker-compose.yml
在 Home 目录创建 docker-compose.yml,编写以下配置并保存:
version: '3'
services:
webtop:
image: lscr.io/linuxserver/webtop:ubuntu-xfce
container_name: webtop
security_opt:
- seccomp:unconfined # optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- SUBFOLDER=/ # optional
- TITLE=Webtop # optional
volumes:
- /home/data:/config
- /var/run/docker.sock:/var/run/docker.sock # optional
ports:
- 3000:3000
- 3001:3001
devices:
- /dev/dri:/dev/dri # optional
shm_size: "1gb" # optional
restart: unless-stopped
第三步:启动容器运行镜像
sudo docker-compose up -d
快速搭建
除了使用 docker-compose 部署之外,还可以使用 Docker 指令进行快速搭建:
sudo docker run -d \
--name=webtop \
--security-opt seccomp=unconfined `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e SUBFOLDER=/ `#optional` \
-e TITLE=Webtop `#optional` \
-p 3000:3000 \
-p 3001:3001 \
-v /home/data:/config \
-v /var/run/docker.sock:/var/run/docker.sock `#optional` \
--device /dev/dri:/dev/dri `#optional` \
--shm-size="1gb" `#optional` \
--restart unless-stopped \
lscr.io/linuxserver/webtop:latest
执行上述指令后,容器指定 3000 端口访问,因此还需要在服务器的防火墙上打开相应的端口,在浏览器访问 IP:3000
即可。