RDPDocker is a Docker image building and container creation tool with X11 and desktop environments, supporting the creation of Ubuntu, Debian, Arch Linux, Fedora systems, Lingmo, GNOME, Xfce4, X11, SSH and other environments. Meanwhile, users are allowed to remotely access the container through methods such as NoMachine, RDP, VNC, SSH, etc. This tool enables multiple users to share a host without virtualization and at extremely low cost. It is also very fast to create, can be used and opened at any time, and only occupies minimal memory and disk space. Docker only needs to be installed on the host. Supports running on headless Linux servers desktop, WSL2, LXC, and Android phones .
Images / 镜像概览
Intros / 镜像介绍
#
Desktop Env
Introduction
Ubuntu
Debian
Arch
Fedora
1
Server
无GUI和桌面,仅用于 SSH 远程连接使用No GUI and DE, only used for SSH connect.
✔️
✔️
✔️
✔️
2
Lingmo
一个拥有高效和优美GUI 的现代桌面环境Lingmo is a DE with efficient and great UI
✔️*
✔️*
❌
❌
3
GNOME
Linux常用图形的桌面环境, 功能齐全方便DE for commonly used graphics on Linux
✔️
✔️
✔️
✔️
4
Xfce4L
一个非常轻量, 简洁易用的Linux桌面环境A lightweight & easy DE for UNIX-like OS.
输入数字选择容器操作系统(Enter numbers to select container operating system)
============================Available System============================
[1]Ubuntu [√ Server /√ CuteOS /√ KDE /√ GNOME /√ DDE /√ OpenBox /√ xfce]
[2]Debian [√ Server /√ CuteOS /√ KDE /√ GNOME /√ DDE /× OpenBox /× xfce]
[3]ArchOS [√ Server /√ CuteOS /× KDE /× GNOME /× DDE /× OpenBox /× xfce]
========================================================================
Choose Platforms Type Number(1):
输入数字选择操作系统版本(Enter the number to select the operating system version)
============================Available Version===========================
[1] 24.04 Jammy Jellyfish [ √ Now Recommend / Support Until 2029 ]
[2] 22.04 Jammy Jellyfish [ √ Now Recommend / Support Until 2027 ]
[3] 20.04 Focal Fossa [ × Not Recommend / Support Until 2025 ]
========================================================================
Choice System Version Number(1):
输入数字选择桌面环境系统(Enter numbers to select desktop environment system)
选择是否使用宿主机的显卡(Choose whether to use the graphics card of the host computer)
注意:必须是英伟达独立显卡才可以使用(Attention: It must be an NVIDIA discrete graphics card)
=============================Graphics Cards=============================
[A] All Graphics Cards [Using All Graphics of Current Local Syatem]
[N] Disabled All Cards [Don't Use Graphics of Current Local Syatem]
========================================================================
Choose Graphics Cards Enable(N):
输入唯一的两位数ID(比如 01) (Enter a unique two digit ID to distinguish like 01)
映射端口,格式为 主机端口:容器端口,不需要或者完成映射,直接输入 q即可退出
Map ports in the format of host port: container port, enter q to exit port map.
===========================Config Port Mapping==========================
Enter Docker ID(Length=2 Like 01): 01
===========================Configure Port Map===========================
Note: !!!Enter 'q' to Finish Port Mapping Input!!!
Enter Port Mapping(host_port:oci_port): q
确认信息,输入 y确认创建 (Confirm information, enter y to confirm creation)
===========================Container Info===============================
Port Mapping:
10101-10121:10101-10121
10123-10139:10123-10139
10142-10199:10142-10199
SSHD Porting: 10122
NXD Services: 10140
Docker Name: **************
System Name: ubuntu
System Vers: 24.04
Desktop Type: server
========================================================================
Confirm to create the container? (y/n):
创建完成后会输出容器访问信息:
──────────────────────────────────────────────────────────────────────
Congratulations! Your Docker Container has been Created Successfully!
----------------------------------------------------------------------
Container *******************
OSSystem: ubuntu 24.04
----------------------------------------------------------------------
NXServer: *******************
IPV4Host: *******************
IPV6Host: *******************
HostName: *******************
----------------------------------------------------------------------
Username: root
Password: *******************
Username: user
Password: *******************
----------------------------------------------------------------------
Port Mapping Details:
10101-10121:10101-10121
10123-10139:10123-10139
10142-10199:10142-10199
Container Volume Map:
Host: /home/ocis/OCI01 -> OCI: /home/user
----------------------------------------------------------------------
SSHLogin Private Key:
*******************
SSHLogin Public Key:
*******************
----------------------------------------------------------------------
Note: Saved password in ./Backups/passwd.conf, please delete if need!
For any questions or suggestions, please visit:
https://github.com/PIKACHUIM/DockerFiles
──────────────────────────────────────────────────────────────────────
======================= Enter to back to menu ========================
https://github.com/PIKACHUIM/RDDocker
RD Docker: Docker Support Remote Desktop Protocols
支持多种远程桌面协议连接带有桌面环境的Docker镜像
RDPDocker是一个带有X11个和桌面环境的Docker镜像构建和容器创建工具,支持创建Ubuntu、Debian、ArchLinux、Fedora系统,支持Lingmo、GNOME、Xfce4、X11、SSH等环境。同时,允许用户通过NoMachine、RDP、VNC、SSH等方式远程访问容器。本工具以非虚拟化和极低开销的情况下,实现了多用户共享一台主机的办法,同时创建极快,随用随开,并且只占用内存、磁盘极少的空间,只需要主机安装Docker即可,支持无桌面的Linux服务器、WSL2、LXC、安卓手机运行。
RDPDocker is a Docker image building and container creation tool with X11 and desktop environments, supporting the creation of Ubuntu, Debian, Arch Linux, Fedora systems, Lingmo, GNOME, Xfce4, X11, SSH and other environments. Meanwhile, users are allowed to remotely access the container through methods such as NoMachine, RDP, VNC, SSH, etc. This tool enables multiple users to share a host without virtualization and at extremely low cost. It is also very fast to create, can be used and opened at any time, and only occupies minimal memory and disk space. Docker only needs to be installed on the host. Supports running on headless Linux servers desktop, WSL2, LXC, and Android phones .
Images / 镜像概览
Intros / 镜像介绍
Support DE / 各个系统桌面支持情况
Ubuntu20.04✔️/✔️✔️/✔️✔️Debian11.00✔️/✔️(1)✔️/✔️(2)✔️*:尚未测试;**:桌面源不支持;/:尚无支持计划;Ubuntu 22.04和Debian 11已不再提供更新支持,仅保留给之前的用户使用
Known Issues / 一些已知的问题
docker exec -it bash
export DISPLAY=:9 &&export $(dbus-launch)
nohup gnome-session &
Desktop 桌面展示
Lingmo
GNOME
Xfce4 Lite
Deepin DE
KDE Plasma
Usages 使用方法
Clone Git 克隆镜像
Run OCIs 运行容器
您将看到这个界面(You will see this interface):
输入
n
然后回车进入创建菜单(Entern
and press enter to enter the create menu)输入数字选择容器操作系统(Enter numbers to select container operating system)
输入数字选择操作系统版本(Enter the number to select the operating system version)
输入数字选择桌面环境系统(Enter numbers to select desktop environment system)
选择是否使用宿主机的显卡(Choose whether to use the graphics card of the host computer)
注意:必须是英伟达独立显卡才可以使用(Attention: It must be an NVIDIA discrete graphics card)
输入唯一的两位数ID(比如
01
) (Enter a unique two digit ID to distinguish like01
)映射端口,格式为
主机端口:容器端口
,不需要或者完成映射,直接输入q
即可退出Map ports in the format of
host port: container port
, enterq
to exit port map.确认信息,输入
y
确认创建 (Confirm information, entery
to confirm creation)创建完成后会输出容器访问信息:
Connect 使用容器
下载NoMachine,然后安装 / Download NoMachine, Then install
打开NoMachine,选择左上角的
Add
,添加远程桌面Open NoMachine, select 'Add' and add remote desktop
然后您可以连接,用户名可以是
root
或者user
,密码是上面列出Password:
后面内容Then you can connect, the username can be 'root' or 'user', and the password is listed above
Q&A 错误排查
无法连接远程服务器 / Unable to connect to remote server
检查服务器IP地址、防火墙端口是否打开
Check if the server IP address and firewall are open
检查Docker是否安装、容器是否超过启动
Check if Docker is installed and if the container has exceeded startup time
检查NoMachine服务是否正常运行
Check if the NoMachine service is running properly
在主机上执行:
docker exec -it 容器名称 bash -c "ps -ef | grep nxserve"
Execute on the host:
docker exec -it Name bash -c "ps -ef | grep nxserve"
正常情况输出(Normal output):
如果没有,可以尝试运行(If not, you can try running it)
没有桌面/黑屏/白屏/卡死 / No desktop/black screen/white screen/stuck
在主机上执行:Execute on the host:
将输出内容提交Issue / Submit the output content to Issue
New Issue · PIKACHUIM/RDPDocker (github.com)