noVNC Display Container
This image is intended to be used for displaying X11 applications from other containers in a browser. A stand-alone demo as well as a Version 2 composition.
- Xvfb - X11 in a virtual framebuffer
- x11vnc - A VNC server that scrapes the above X11 server
- noNVC - A HTML5 canvas vnc viewer
- Fluxbox - a small window manager
- socat - for use with other containers
- xterm - to demo that it works
- supervisord - to keep it all running
You can specify the following variables:
$ docker run --rm -it -p 8080:8080 theasp/novnc
Open a browser and see the
xterm demo at
A version of the V2 docker-compose example is shown below to illustrate how this image can be used to greatly simplify the use of X11 applications in other containers. With just
docker-compose up -d, your favorite IDE can be accessed via a browser.
Some notable features:
x11network is defined to link the IDE and novnc containers
- The IDE
DISPLAYenvironment variable is set using the novnc container name
- The screen size is adjustable to suit your preferences via environment variables
- The only exposed port is for HTTP browser connections
version: '2' services: ide: image: psharkey/intellij:latest # image: psharkey/netbeans-8.1:latest environment: - DISPLAY=novnc:0.0 depends_on: - novnc networks: - x11 novnc: image: theasp/novnc:latest environment: # Adjust to your screen size - DISPLAY_WIDTH=1600 - DISPLAY_HEIGHT=968 - RUN_XTERM=no ports: - "8080:8080" networks: - x11 networks: x11:
If the IDE fails to start simply run
docker-compose restart <container-name>.
On DockerHub / GitHub
This is based on the alpine container by @psharkey: https://github.com/psharkey/docker/tree/master/novnc
Based on wine-x11-novnc-docker and octave-x11-novnc-docker.