If you don't know what is docker? First, read this article: Dockers for Extreme Beginners in Desi (layman ) language.. This article got 9k+ readings in the last 20 days and count increasing.
We are building a fully functional desktop inside a docker container. The Ubuntu latest release Focal Fossa or Ubuntu:20.04 is used to build this container. Desktop Environment is Xfce with windows theme from b00merang Project and wallpapers from pixabay.
VNC & RDP are two technologies to connect to remote desktops. I used RDP and VNC is left for you to try :)
(1)You can find a number of docker images with a "desktop environment"on google.But these images are custom build i.e leaving libre office suite etc to remain light in size.
(2) Being a docker image you can spin a desktop in a click.
Xfce is lighter than mate and gnome. Being lighter, performance is better in the container.
(1) Pull Image and Run:manishfoodtechs/xfcefulldesktop_ubuntu20.4
docker run -it -p 9096:3389 -e 3389 --shm-size 2g manishfoodtechs/xfcefulldesktop_ubuntu20.4
In above command:
- we are opening port of host 9096 to listen port of container 3389. You can use any port in place of 9096 but Port 3389 is a standard port of xrdp.
- we are exposing container's 3389 port with -e 3389
- shm-size 2g is given so that Firefox doesn't break.
Look at this terminal image :
(2) Service start xrdp:
In above command:
-We are starting xrdp
then, ### visit : hostip:9096 in RDP client of your PC. More about RDP here
USER ID: root and Password: 123456 . Please don't forget to change password with command
passwd root and add some more users.
- wait on black / blue screen in 20-30 seconds desktop will get up.
- If, rdp is not connecting, then get inside the container shell and run
/etc/init.d/xrdp restartas you did in step (2).
Docker is not meant for running complete desktops but running apps. The closet container like VM machine is LXD. If you had visited my above-said article (docker in desi language) you would be able to spin a desktop in lxd container.
Try to pull the container with podman over gvisor.
- Podman = docker - daemon - root read:
- Desktop(Vnc based) :
I hope you people like the above article and learned something.
You are most welcome to join my team form for joining .
Also you are most welcome to join OPEN SOURCE INTELLIGENT SYSTEM (OSINT) if you can help in open source project regarding safeguarding humans from various diseases like CORONA outbreak
Contact email: Manishfoodtechs@gmail.com.
If you have any problem, our team is also engaged in professional consultancy and delivery.