Docker WebTop 可Web访问的云linux桌面搭建

@

WebTop是我暂时看到比较快速搭建的一个运桌面了,运行一些需要GUI的程序时会有不少帮助

DockerHub-WebTop

先示例一个docker-compose(以arch作为示例)


services:
  webtop:
    image: lscr.io/linuxserver/webtop:arch-xfce #拉去镜像时选择标签作为拉取的系统镜像发行版
    container_name: webtop-arch
    network_mode: docker_default
    security_opt:
      - seccomp:unconfined #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - LC_ALL=zh_CN.UTF-8 - Chinese #系统语言
      - SUBFOLDER=/ #optional #网页相关的一些
      - TITLE=Webtop #optional
    volumes:
      - /home/serinder/Data/AppData/Webtop/Arch/config:/config #桌面配置与用户文件
      - /var/run/docker.sock:/var/run/docker.sock #optional #包管理器pacman的站点和配置直接使用宿主机
      - /etc/pacman.d/mirrorlist:/etc/pacman.d/mirrorlist
      - /etc/pacman.conf:/etc/pacman.conf
	#需要软件等数据持久化需要挂载以下
      - /home/serinder/Data/AppData/Webtop/Arch/Root/opt:/opt
      - /home/serinder/Data/AppData/Webtop/Arch/Root/var:/var
      - /home/serinder/Data/AppData/Webtop/Arch/Root/usr:/usr

#如果上方无法成功启动,可以先将宿主机一个目录挂载到mnt,后将其容器内关键目录拷贝到宿主机挂载
      - /home/serinder/Data/AppData/Webtop/Arch/Root/:/mnt/
    
    ports:
      - 4050:3000 #http访问端口
      - 4051:3001  #https访问端口

    shm_size: "10gb" #optional #共享内存大小
    restart: unless-stopped

Bash

docker run -d \
  --name=webtop-arch \
  --network=docker_default \
  --security-opt seccomp=unconfined \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e LC_ALL=zh_CN.UTF-8 \
  -e SUBFOLDER=/ \
  -e TITLE=Webtop \
  -v /home/serinder/Data/AppData/Webtop/Arch/config:/config \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /etc/pacman.d/mirrorlist:/etc/pacman.d/mirrorlist \
  -v /etc/pacman.conf:/etc/pacman.conf \
  -v /home/serinder/Data/AppData/Webtop/Arch/Root/opt:/opt \
  -v /home/serinder/Data/AppData/Webtop/Arch/Root/var:/var \
  -v /home/serinder/Data/AppData/Webtop/Arch/Root/usr:/usr \
  -v /home/serinder/Data/AppData/Webtop/Arch/Root/:/mnt/ \
  -p 4050:3000 \
  -p 4051:3001 \
  --shm-size=10gb \
  --restart=unless-stopped \
  lscr.io/linuxserver/webtop:arch-xfce

关于镜像选择(可以在DockHub看到详细的发行版)

Webtop在拉取镜像时通过标签拉取对应镜像,如需多个桌面实例,可以修改容器名

Tag Available Description
latest XFCE
alpine-i3 i3 Alpine
alpine-mate MATE Alpine
arch-i3 i3 Arch
arch-kde KDE Arch
arch-mate MATE Arch
arch-xfce XFCE Arch
debian-i3 i3 Debian
debian-kde KDE Debian
debian-mate MATE Debian
debian-xfce XFCE Debian
el-i3 i3
el-mate MATE Enterprise Linux
el-xfce XFCE Enterprise Linux
fedora-i3 i3 Fedora
fedora-kde KDE Fedora
fedora-mate MATE Fedora
fedora-xfce XFCE Fedora
ubuntu-i3 i3 Ubuntu
ubuntu-kde KDE Ubuntu
ubuntu-mate MATE Ubuntu
ubuntu-xfce XFCE Ubuntu

环境变量

环境变量E 描述
CUSTOM_PORT 内部HTTP端口。3000。
CUSTOM_HTTPS_PORT 内部HTTPS端口。3001。
CUSTOM_USER 设置启用HTTP验证,如果未设置 abc为默认用户。
PASSWORD 设置启用HTTP验证,如果未设置,则禁用身份验证。
SUBFOLDER 用于反向代理配置的应用程序子文件夹。必须包括前导斜杠和尾随斜杠,例如,/subfolder/.
TITLE 网页浏览器中显示的网页标题。
START_DOCKER 如果设置为false,特权Docker-in-Docker设置将不会自动启动。
DISABLE_IPV6 设置为true可在容器中禁用IPv6支持。
LC_ALL 设置容器的区域设置,例如,fr_FR.UTF-8.
DRINODE 如果在/dev/dri中安装DRI 3 GPU加速允许您指定设备使用IE /dev/dri/renderD128
NO_DECOR 如果设置,应用程序将在没有窗口边框的情况下运行,适合PWA使用。
NO_FULL 如果设置,应用程序将不会自动全屏。
DISABLE_ZINK 如果设置,当检测到显卡时,将不会配置与Zink相关的环境变量。
WATERMARK_PNG 容器内水印PNG文件的完整路径,例如,/usr/share/selkies/www/icon.png.
WATERMARK_LOCATION 指定水印位置的位图:1(左上)、2(右上)、3(左下)、4(右下)、5(居中)、6(动画)。

语言环境变量

参数 语言
LC_ALL=zh_CN.UTF-8 Chinese
LC_ALL=ja_JP.UTF-8 Japanese
LC_ALL=ko_KR.UTF-8 Korean
LC_ALL=ar_AE.UTF-8 Arabic
LC_ALL=ru_RU.UTF-8 Russian
LC_ALL=es_MX.UTF-8 Spanish (Latin America)
LC_ALL=de_DE.UTF-8 German
LC_ALL=fr_FR.UTF-8 French
LC_ALL=nl_NL.UTF-8 Netherlands
LC_ALL=it_IT.UTF-8 Italian

使用GPU加速添加

--device /dev/dri:/dev/dri

1755675336726

posted @ 2025-08-20 15:41  in-serinder  阅读(284)  评论(0)    收藏  举报