This Docker container starts an X server with fluxbox, makes it accessible via noVNC, and then runs the command provided to it.
The container is based on ubuntu:20.04
.
docker run --rm -it -p 8080:8080 suchipi/novnc
Then, open http://localhost:8080/.
To run a program, append it to the end of the command:
docker run --rm -it -p 8080:8080 suchipi/novnc xterm
When run this way, the container will exit once the program you specified exits.
You can also use this container as a base image in a Dockerfile. Set up your Dockerfile as normal, then use CMD
to specify what to run in the container (if anything). The following example installs wine, downloads the BGB Game Boy emulator, and sets it as the startup command for the container:
FROM suchipi/novnc
# Install wine
RUN dpkg --add-architecture i386 && \
apt-get update && \
apt-get install -y wine wine32 unzip
# Download and unzip bgb
WORKDIR /root
RUN wget https://bgb.bircd.org/bgb.zip && \
unzip bgb.zip
# Set bgb as the program to run when the container starts
CMD wine /root/bgb.exe
This container is built using the following software:
- Fluxbox - the window manager for the X session
- noVNC - browser-based VNC client used to expose the X session to the host
- TigerVNC - the X server and VNC server used
- Supervisor - to start Fluxbox, noVNC, and TigerVNC
- Expect - To wait for the services to go up and execute the command you specified (if present)
This container is based heavily on theasp/docker-novnc.
MIT