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 3 composition.
The original image for use by the Wisconsin Autonomous student organization.
- 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
- xterm - to demo that it works
- supervisord - to keep it all running
The password for the vnc container is wa!!!! VNC cannot be run password-less.
Run:
$ docker run --rm -it -p 8080:8080 -p 5900:5900 wiscauto/vncOpen a browser and see the desktop at http://<server>:8080/. If you're running this locally, <server> will most likely be localhost. Further, you can also access the VNC instance using a vnc viewer at http://<server>:5900.
A version of the V3 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:
- An
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: '3'
services:
ide:
image: psharkey/intellij:latest
environment:
- DISPLAY=novnc:0.0
depends_on:
- novnc
networks:
- x11
novnc:
image: wiscauto/vnc:latest
ports:
- "8080:8080"
- "5900:5900"
networks:
- x11
networks:
x11:
If the IDE fails to start simply run docker-compose restart <container-name>.
- DockerHub wiscauto/vnc
- GitHub wiscauto/docker-vnc
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.