Are you looking for a fully-fledged Ubuntu Docker container with a complete desktop experience? This Docker image provides quick access to an entire Ubuntu Desktop (XFCE) directly from within the container. It utilizes tightvncserver
for VNC connections and noVNC
for easy browser access.
IMPORTANT: This image is intended for testing purposes only. It is not recommended for production systems or any productive uses. Feel free to modify it as needed; build instructions are provided below.
- Full XFCE desktop environment
- Access via VNC and noVNC (browser-based)
- Customizable settings for display resolution and VNC password
Just run the following commands to start using it right away (or move on to the next step to build it yourself):
docker pull ghcr.io/amhoba2014/ubuntu-xfce4-novnc ;
docker run -it -p 9876:9090 --name ubuntu-container ghcr.io/amhoba2014/ubuntu-xfce4-novnc:latest
- Clone the repository:
git clone /~https://github.com/amhoba2014/ubuntu-xfce4-novnc && cd ubuntu-xfce4-novnc
- Build the Docker image:
docker build -t ubuntu-xfce4-novnc .
- Optional Arguments:
--build-arg VNCPWD=changeme
: Set a password for VNC access (default:changeme
).--build-arg VNCDISPLAY=1920x1080
: Set the display resolution for the VNC server (default:1920x1080
).--build-arg VNCDEPTH=16
: Set the display depth for the VNC server (default:16
).
- Run the container:
docker run -it -p 9876:9090 --name ubuntu-container ubuntu-xfce4-novnc
Replace 9876
with a any port on your host system if you will.
- Access the desktop: Open your browser and navigate to:
https://YOUR_PUBLIC_OR_LOCAL_IP:9876/vnc.html
-
Certificate Verification: If a certificate warning appears, verify the SHA256 certificate fingerprint shown in the command prompt when starting the container.
-
Password Entry: If prompted for a password, enter either the default password (
changeme
) or the custom password you set during the build process.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please feel free to submit pull requests or open issues to discuss improvements or features.