Sign inSign up

VNC Viewer

โ€ข

50K+

pgmystery/docker-extension-vnc:1.4.0

By pgmystery

โ€ข

Updated 6 months ago

A Docker Desktop Extension that enables you to connect to VNC servers running inside Docker containers or on remote hosts โ€” directly from Docker Desktop.

๐Ÿณ Docker Extension: VNC Viewerโ  ๐Ÿ–ฅ๏ธ

A Docker Desktop Extensionโ  that allows you to connect to VNC servers running inside Docker containers or on remote hosts โ€” directly from Docker Desktopโ .


๐Ÿ“š Table of Contents


๐Ÿงญ Overview

This Docker Desktop Extension creates a temporary proxy container using noVNCโ , giving you browser-based access to any VNC server โ€” whether it's inside another container or running on a remote host.

๐Ÿ”‘ Key Features

๐Ÿš€ What You Can Do

๐Ÿ–ฅ๏ธ Run GUI-Based Linux Applications

Launch popular apps without installing anything on your host:

  • Browsers (Firefox, Chromium)
  • Editors (VS Code, LibreOffice)
  • Tools (GIMP, PDF viewers)

And many more...

โœ”๏ธ Ideal for isolated, disposable environments. Ideal for temporary, sandboxed tasks without cluttering your OS.
๐ŸŒ Web Dev & Browser Testing

Spin up clean browser instances in seconds for testing login flows, UI layouts, or performance.

๐Ÿ’ก Use multiple containers for parallel testing.
๐Ÿค– Selenium Testing

Try our ready-to-use Selenium testing example:

  1. Navigate to the /examples/seleniumโ  directory

  2. Follow the step-by-step guide in the README file to:

    • Set up a Selenium Chrome container
    • Run automated browser tests
    • Watch the tests execute in real-time

    ๐Ÿ” Perfect for visual debugging of Selenium test suites

๐Ÿ”ฌ Malware or File Analysis (Safely)

Open suspicious files in an isolated Linux environment.

๐Ÿ”’ Just close the container to dispose of everything.
๐Ÿ› ๏ธ GUI Debugging in Containers

Run GUI debuggers or desktop editors inside a container.

๐Ÿ’ป Perfect for debugging GUI-based apps or editors (e.g. GDB GUI, VS Code Desktop) without leaving Docker.
๐Ÿ“ฆ Legacy Software in CI/CD

Use GUI-reliant tools in headless pipelines.

๐Ÿ” Ideal for automated PDF/image generation or GUI testing.
๐ŸŽ“ Disposable Desktops for Training

Provide ready-to-use Linux desktops for workshops, demos, or internal labs.

๐ŸŽ“ Great for teaching Linux, Docker, or OSS tools.

โœจ Why Use This Extension?

  • โœ… Zero Setup โ€“ Just launch from Docker Desktop
  • ๐Ÿ“ฆ Fully Containerized โ€“ Nothing installed on the host
  • ๐Ÿ”’ Safe & Isolated โ€“ Perfect for testing risky files
  • ๐Ÿ”ง Customizable โ€“ Add your own Dockerfiles and tools

๐Ÿ”ง Installation

๐Ÿ“ฅ Install from Docker Marketplace
๐Ÿ› ๏ธ Manual Installation
docker extension install pgmystery/docker-extension-vnc:1.4.0

๐Ÿงช Usage

โ–ถ๏ธ Try the Example Container

Click the "Try example container" button to launch a prebuilt Ubuntu VNC imageโ  with a desktop environment.

Dashboard Screenshot Screenshotโ 


๐ŸŽค Audio Support (Input & Output)

The extension fully supports real-time, low-latency audio using FFmpeg and PulseAudio under the hood. You can route complete audio output (listening to apps) or audio input (using your browser mic) seamlessly.

ComponentRoleResilience Strategy
FFmpegSourceRuns in an immortal background loop inside the target container.
MediaMTXProxyActs as an SRT Caller, proactively reaching out to FFmpeg.
Electron / Docker DesktopClientUses Exponential Backoff to wait for the stream to be ready.
NetworkingTransportForced ICE-over-TCP to ensure stability over Docker's bridge.

๐Ÿ“š Check out the Audio Setup Guideโ  to learn how to explicitly configure Audio Support on your own custom Docker Images.


๐Ÿ—‚ Working with Sessions

Sessions allow you to save and manage connection presets. Stored securely in a Docker volume via a backend container using SQLite.

To create a session:

  1. Click the โž• icon
  2. Fill out the form
  3. Save and click Connect

Supported connection types:

Edit Session Screenshotโ 


๐Ÿณ Connect to a Docker Container
  1. Create a new session
  2. Select Docker Container
  3. Choose a running container or enter its name/ID
  4. Set the internal VNC port
  5. (Optional) Enter credentials
  6. Save and connect

Container Desktop Screenshot Screenshotโ 


๐Ÿ“ฆ Run from a Docker Image
  1. Enter a unique Session name.
  2. Choose Docker Image as the connection type.
  3. Select a VNC-enabled Docker Image from the Docker-Hub or locally (e.g. selenium/standalone-chrome-debugโ ).
  4. Select the image tag.
  5. (Optional) Add Docker Run Optionsโ .
  6. (Optional) Specify a custom Docker Run command with Argsโ .
  7. Specify the VNC-Server port.
  8. Choose whether to remove the Container after disconnecting or keep it alive.
  9. (Optional) Enter the credentials for the VNC connection if you want to store them.
  10. Save and connect

๐ŸŒ Connect to a Remote Host
  1. Enter a unique Session name.
  2. Choose Remote Host as the connection type.
  3. Enter the IP-Address of the remote host.
  4. Specify the VNC-Server port.
  5. (Optional) Enter the credentials for the VNC connection if you want to store them.
  6. Save and connect

Supports Linux, macOS, and Windows hosts.

Remote Windows Screenshotโ 

Remote Linux Screenshotโ 


๐Ÿ“Ž Related Links

Resources