Windows 10 Docker Host - Display GUI application from Linux Container

17,830

You'll need to set DISPLAY to something other than localhost. The container has its own localhost interface, so your X11 client will attempt to connect to itself instead of to your host.

Instead, you can pass in an IP address of your windows machine's network adapter. The container will be able to connect to that. You'll also need to have your X11 server configured to listen on that interface.

Share:
17,830
Fitz
Author by

Fitz

Updated on June 17, 2022

Comments

  • Fitz
    Fitz almost 2 years

    I'm trying to use Windows 10 as my host and run Docker containers that contain gui based applications and display them using X11 forwarding or something similar. Pretty much all of the information I've found online deal with Linux Host to Linux Container (example - http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker) where the socket / x11 authority are exposed. Other information I've found is from previous implementations of Boot2Docker / Windows where virtualbox was required as part of the setup procedure and required VNC.

    Basic setup currently, does anyone know what has to be adjusted to get Firefox to display within a window on the host system? --

    Start an XMing server on Windows 10 host

    Dockerfile

    FROM ubuntu:14.04
    RUN apt-get update && apt-get install -y firefox
    CMD /usr/bin/firefox
    

    Commands

    PS> docker build -t firefox .
    PS> set-variable -name DISPLAY -value localhost:0.0
    PS> docker run -ti --rm -e DISPLAY=$DISPLAY firefox
    

    Thanks