This is a container contains all the desktop packages I would need.
To run the container:
docker run -d -p 5901:5901 -p 5902:5902 lihebi/arch-desktop
Then wait a little bit, connect via
# for stumpwm session vncviewer localhost:1 # lxde session vncviewer localhost:1
The container can be stop and started again.
docker stop <name> docker start <name>
You can go into container by
docker attach <name>
and detach by the detach key (C-p C-p) (C-] C-[)