Docker image with RDP server using xrdp on Ubuntu with XFCE.
Images are built weekly using the Ubuntu latest
, rolling
and devel
images as listed on the Ubuntu Docker Hub page. The following image tags are generated:
ubuntu-latest
ubuntu-rolling
ubuntu-devel
Each image is also tagged with the version codename as ubuntu-<codename>
. e.g. ubuntu-focal
If you pull the image without a tag or with the latest
tag, it uses ubuntu-rolling
.
Download the latest version of the image:
docker pull scottyhardy/docker-remote-desktop
Or download a different version of the image using the appropriate tag:
docker pull scottyhardy/docker-remote-desktop:ubuntu-focal
To run with an interactive bash session:
docker run -it \
--rm \
--hostname="$(hostname)" \
--publish="3389:3389/tcp" \
--name="remote-desktop" \
scottyhardy/docker-remote-desktop:latest /bin/bash
To start as a detached daemon:
docker run --detach \
--rm \
--hostname="$(hostname)" \
--publish="3389:3389/tcp" \
--name="remote-desktop" \
scottyhardy/docker-remote-desktop:latest
To stop the detached container:
docker kill remote-desktop
All Windows desktops and servers come with Remote Desktop pre-installed and macOS users can download the Microsoft Remote Desktop application for free from the App Store. For Linux users, I'd suggest using the Remmina Remote Desktop client.
For the hostname, use localhost
if the container is hosted on the same machine you're running your Remote Desktop client on and for remote connections just use the name or IP address of the machine you are connecting to.
NOTE: To connect to a remote machine, it will require TCP port 3389 to be exposed through the firewall.
To log in, use the following default user account details:
Username: ubuntu
Password: ubuntu
First, clone the GitHub repository:
git clone https://github.com/scottyhardy/docker-remote-desktop.git
cd docker-remote-desktop
You can then build the image with the supplied script:
./build
Or run the following docker
command:
docker build -t docker-remote-desktop .
I've created some simple scripts that give the minimum requirements for either running the container interactively or running as a detached daemon.
To run with an interactive bash session:
./run
To start as a detached daemon:
./start
To stop the detached container:
./stop