https://github.com/linuxserver/docker-rdesktop 是由LinuxServer.io团队维护的Docker镜像,提供基于多种Linux发行版(Alpine、Ubuntu、Arch、Fedora)的完整桌面环境,支持通过RDP(远程桌面协议)访问。该镜像包含多种流行的桌面环境(如XFCE、KDE、MATE、i3、Openbox、IceWM等),适用于需要便捷远程桌面环境的场景。
LinuxServer.io团队的容器特点包括:
提供多种Linux发行版(Alpine、Ubuntu、Arch、Fedora)和桌面环境组合,满足不同用户需求:
支持x86-64和arm64v8架构,通过Docker manifest实现多平台感知,拉取镜像时自动匹配架构。
支持Intel/ATI/AMD、Nvidia及Arm设备的硬件加速,提升图形性能。
支持用户权限映射(PUID/PGID)、时区设置、自定义存储卷等,满足个性化需求。
| 架构 | 支持情况 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
| armhf | ❌ |
| 标签 | 支持情况 | 描述 |
|---|---|---|
| latest | ✅ | XFCE Alpine |
| ubuntu-xfce | ✅ | XFCE Ubuntu |
| fedora-xfce | ✅ | XFCE Fedora |
| arch-xfce | ✅ | XFCE Arch |
| alpine-kde | ✅ | KDE Alpine |
| ubuntu-kde | ✅ | KDE Ubuntu |
| fedora-kde | ✅ | KDE Fedora |
| arch-kde | ✅ | KDE Arch |
| alpine-mate | ✅ | MATE Alpine |
| ubuntu-mate | ✅ | MATE Ubuntu |
| fedora-mate | ✅ | MATE Fedora |
| arch-mate | ✅ | MATE Arch |
| alpine-i3 | ✅ | i3 Alpine |
| ubuntu-i3 | ✅ | i3 Ubuntu |
| fedora-i3 | ✅ | i3 Fedora |
| arch-i3 | ✅ | i3 Arch |
| alpine-openbox | ✅ | Openbox Alpine |
| ubuntu-openbox | ✅ | Openbox Ubuntu |
| fedora-openbox | ✅ | Openbox Fedora |
| arch-openbox | ✅ | Openbox Arch |
| alpine-icewm | ✅ | IceWM Alpine |
| ubuntu-icewm | ✅ | IceWM Ubuntu |
| fedora-icewm | ✅ | IceWM Fedora |
| arch-icewm | ✅ | IceWM Arch |
默认用户名和密码:abc/abc
apt、Alpine的apk、Fedora的dnf或Arch的pacman)。3390:3389)。passwd命令修改abc用户密码。--security-opt seccomp=unconfined参数或尝试podman解决。bashdocker exec -it rdesktop passwd abc
需将主机的/dev/dri设备挂载到容器:
bash--device=/dev/dri:/dev/dri
容器会自动确保abc用户有访问该设备的权限。
需在主机安装Nvidia提供的容器运行时(https://github.com/NVIDIA/nvidia-docker%EF%BC%89%EF%BC%8C%E5%88%9B%E5%BB%BA%E5%AE%B9%E5%99%A8%E6%97%B6%E6%B7%BB%E5%8A%A0%EF%BC%9A
--runtime=nvidia-e NVIDIA_VISIBLE_DEVICES=all(也可指定GPU的UUID,通过nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv查看)大多数情况下,若主机存在/dev/dri设备,挂载后即可使用。树莓派4需在usercfg.txt中启用dtoverlay=vc4-fkms-v3d。
yaml--- version: "2.1" services: rdesktop: image: lscr.io/linuxserver/rdesktop:latest container_name: rdesktop security_opt: - seccomp:unconfined #可选,解决部分GUI应用系统调用问题 environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /var/run/docker.sock:/var/run/docker.sock #可选,如需在容器内使用Docker - /path/to/data:/config #可选,abc用户主目录 ports: - 3389:3389 devices: - /dev/dri:/dev/dri #可选,硬件加速 shm_size: "1gb" #可选,防止现代浏览器崩溃 restart: unless-stopped
bashdocker run -d \ --name=rdesktop \ --security-opt seccomp=unconfined `#可选` \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 3389:3389 \ -v /var/run/docker.sock:/var/run/docker.sock `#可选` \ -v /path/to/data:/config `#可选` \ --device /dev/dri:/dev/dri `#可选` \ --shm-size="1gb" `#可选` \ --restart unless-stopped \ lscr.io/linuxserver/rdesktop:latest
| 参数 | 功能 |
|---|---|
-p 3389 | RDP访问端口 |
-e PUID=1000 | 用户ID,详见用户/组ID说明 |
-e PGID=1000 | 组ID,详见用户/组ID说明 |
-e TZ=Etc/UTC | 时区设置,参考时区列表 |
-v /var/run/docker.sock | 挂载主机Docker Socket,允许容器内使用Docker |
-v /config | abc用户的主目录 |
--device /dev/dri | 添加以支持GL(仅Linux主机) |
--shm-size= | 设置共享内存大小,建议1GB以防止现代浏览器崩溃 |
--security-opt seccomp=unconfined | Docker引擎专用,解决部分现代GUI应用系统调用未知问题 |
可通过FILE__前缀从文件设置环境变量,例如:
bash-e FILE__PASSWORD=/run/secrets/mysecretpassword
将从/run/secrets/mysecretpassword文件内容设置PASSWORD环境变量。
可通过-e UMASK=022覆盖容器内服务的默认umask设置。umask通过减法调整权限,而非直接设置权限,详情参考umask说明。
使用卷(-v标志)时,主机与容器可能出现权限问题。通过指定PUID(用户ID)和PGID(组ID)可避免此问题。确保主机卷目录的所有者与指定的PUID/PGID一致。
查看当前用户的ID:
bashid username # 输出示例:uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=rdesktop&query=%24.mods%5B%27rdesktop%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看此容器可用的mods") https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看通用mods")
LinuxServer.io提供多种https://github.com/linuxserver/docker-mods%E4%BB%A5%E6%89%A9%E5%B1%95%E5%AE%B9%E5%99%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%B8%8A%E8%BF%B0%E9%93%BE%E6%8E%A5%E5%8F%AF%E6%9F%A5%E7%9C%8B%E9%80%82%E7%94%A8%E4%BA%8E%E6%AD%A4%E9%95%9C%E5%83%8F%E7%9A%84mods%E5%8F%8A%E9%80%9A%E7%94%A8mods%E3%80%82
docker exec -it rdesktop /bin/bashdocker logs -f rdesktopdocker inspect -f '{{ index .Config.Labels "build_version" }}' rdesktopdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/rdesktop:latest大多数镜像为静态版本,需更新镜像并重建容器以更新应用。部分应用(如nextcloud、plex)除外,不建议在容器内更新应用,具体参考应用设置。
docker-compose pulldocker-compose pull rdesktopdocker-compose up -d(或单个容器:docker-compose up -d rdesktop)docker image prunedocker pull lscr.io/linuxserver/rdesktop:latestdocker stop rdesktopdocker rm rdesktop/config目录及设置将保留)docker image prunebashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once rdesktop
注意:不推荐使用Watchtower作为自动更新容器的解决方案,建议长期使用Docker Compose。
推荐使用Diun接收更新通知,不建议使用其他自动更新工具。
如需本地修改或开发:
bashgit clone https://github.com/linuxserver/docker-rdesktop.git cd docker-rdesktop docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/rdesktop:latest .
在x86_64硬件上构建ARM变体:
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
然后使用-f Dockerfile.aarch64指定Dockerfile。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务