Docker container for xrdp (both Xorg and Xvnc) currently based on Fedora, and Ubuntu. Full desktop environment Xfce is supported on both amd64 and arm64 hardware. No privilege or sys_cap is required on the host system. These containers are lightweight and ideal for rapid development and testing purposes. Notice that the state of the container is not persisted between runs. In order to persist the state of the container, see this guide.
First pull the container with the appropriate tag. the following tag combinations are available:
- danchitnis/xrdp:ubuntu-xfce
- danchitnis/xrdp:fedora-xfce
- danchitnis/xrdp:amazon-mate (no longer supported)
- danchitnis/xrdp:amazon-xfce (no longer supported)
- danchitnis/xrdp:centos7-mate (no longer supported)
- danchitnis/xrdp:centos7-xfce (no longer supported)
- danchitnis/xrdp:centos8-xfce (no longer supported)
Example:
docker pull danchitnis/xrdp:ubuntu-xfce
You have to give username, password, and sudo ability as input arguments to the docker run command. Hence, each user has three parameters. The process will exit if the input arguments are incorrect. Please run as interactive mode at first instance.
Example when username is foo, password is bar and sudo ability is no:
docker run -it -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar no
Similarly for detached mode
docker run -d -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar no
Once running, open Remote Desktop Connection. Enter "localhost:33890" as the address.
In this example username is foo and the password is bar.
Nightly builds are available for the following tags:
- danchitnis/xrdp:ubuntu-xfce-next
- danchitnis/xrdp:fedora-xfce-next
simply replace the tag with the nightly tag to pull and run the nightly build.
Example:
docker run -it -p 33890:3389 danchitnis/xrdp:ubuntu-xfce-next foo bar no
Please note that these nightly builds are built automatically and have not been tested. As a result, they may not work as expected. If the login fails, please try using the main tag.
You can add more users as a list of arguments and 3 inputs per user as described above
Example:
User | Pass | Sudo |
---|---|---|
foo | bar | yes |
baz | cox | no |
docker run -it -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar yes baz qux no
Adding a sudo user will give that user sudo ability so that you can run privileged command inside the container
For example start docker container with
docker run -d -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar yes
Once inside the container user foo can do this
sudo yum update
Notice that to give sudo ability, the third input parameter for each user should be explicitly yes, otherwise any other input will be ignored.
Check the following guide for building your own containers.
Inspired by frxyt/docker-xrdp
Ubuntu commands by danielguerra69/ubuntu-xrdp
xrdp service restrat by timwa0669