How Do I Use Docker To Run A Linux Desktop?

Docker containers use a lot less disk and memory than VMs. Docker containers start faster and are just plain easier to manage - after you figure out how Docker images and containers actually work. (This subject is a bit involved).

Normally, Docker containers serve non-graphical applications, so having Firefox in a Docker container isn't a normal thing to do with Docker. However, it is possible. It's basically the same strategy used to provide a Linux desktop from a "headless" machine (usually a server). Therefore, a Docker container for a Remote Desktop is what you'll need.

VNC is normally used for Linux Remote Desktops. I've found running RDP on top of VNC gives better performance for some reason, especially when using a Windows client. To this end, I use XRDP.

The best Docker container for XRDP that I've found is:

https://store.docker.com/community/images/swined/rdp

You might want to give it a try.