Docker - Socket Mapping - GUI Apps - VNC


I am trying to run GUI applications inside a container and appreciate if someone could assist me with my following question.

Problem Statement:
To run a GUI application inside of a container and I have the following options.

A. Map X Server port of container (env variable) to the local host. (I am avoiding this due to remote access issue, and this is going to be an issue with some customers)

B. Installing VNC server inside of the application container (This is not a repeatable approach for large deployments since the GUI application and VNC software inside of the same container have to be maintained up-to-date; also it violates recommended 1 process per container approach of Docker methodology)

C. Running GUI application inside of a container and running VNC in a Separate container. And map X-Server port from App Container to VNC Container. (This is my desired approach, as it follows Docker best practices, VNC software updates only had to be applied to the VNC container, and it does not raise any concerns with any of our customers)

Desired Solution:
My desired option is C, however I am facing some challenges with getting it to work.
X Server direct mapping from Application Container to the VNC Container does not seem to work, and I am uncertain if X-Server port mapping between 2 containers could be done through a file or volume mapping.
I highly appreciate if someone could assist.