I can only answer for NVIDIA, as that was the platform we developed on, but it should be possible to encapsulate the X11 server within the container without starting an X server on the host machine, and then plug in to the monitor you designate.
It's possible to use tini, supervisord, dumb-init, and other init 1 services for containers. Bit of a heavy workaround to make it work with desktop environments, but works.
GNOME forces OpenGL 3D compositing with no way to turn off, which is very uncomfortable without a GPU. Every other X11 desktop environment allows to turn them off, which is more tolerable when using llvmpipe, the software CPU Mesa OpenGL implementation.
While our focus is for delivering high-performance remote 3D graphical workloads for vanilla Kubernetes and HPC clusters in general, our project should be trivial for anyone to also deploy in their X11 desktop, especially with NVIDIA.
I can answer further if you are satisfied with the directions found within https://github.com/selkies-project/docker-nvidia-glx-desktop. It has a lot of effort to NOT require a monitor, but it should also work with one.