ランキングに戻る

fcwu/docker-ubuntu-vnc-desktop

HTML

A Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.

docker-imageubuntu-desktopvnc
スター成長
スター
4.2k
フォーク
1.5k
週間成長
Issue
66
2k4k
2014年3月2018年4月2022年6月2026年7月
README

docker-ubuntu-vnc-desktop

Docker Pulls Docker Stars

docker-ubuntu-vnc-desktop is a Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.

Quick Start

Run the docker container and access with port 6080

docker run -p 6080:80 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

Browse http://127.0.0.1:6080/

Ubuntu Flavors

Choose your favorite Ubuntu version with tags

  • focal: Ubuntu 20.04 (latest)
  • focal-lxqt: Ubuntu 20.04 LXQt
  • bionic: Ubuntu 18.04
  • bionic-lxqt: Ubuntu 18.04 LXQt
  • xenial: Ubuntu 16.04 (deprecated)
  • trusty: Ubuntu 14.04 (deprecated)

VNC Viewer

Forward VNC service port 5900 to host by

docker run -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

Now, open the vnc viewer and connect to port 5900. If you would like to protect vnc service by password, set environment variable VNC_PASSWORD, for example

docker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

A prompt will ask password either in the browser or vnc viewer.

HTTP Base Authentication

This image provides base access authentication of HTTP via HTTP_PASSWORD

docker run -p 6080:80 -e HTTP_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

SSL

To connect with SSL, generate self signed SSL certificate first if you don't have it

mkdir -p ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl/nginx.key -out ssl/nginx.crt

Specify SSL port by SSL_PORT, certificate path to /etc/nginx/ssl, and forward it to 6081

docker run -p 6081:443 -e SSL_PORT=443 -v ${PWD}/ssl:/etc/nginx/ssl -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

Screen Resolution

The Resolution of virtual desktop adapts browser window size when first connecting the server. You may choose a fixed resolution by passing RESOLUTION environment variable, for example

docker run -p 6080:80 -e RESOLUTION=1920x1080 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

Default Desktop User

The default user is root. You may change the user and password respectively by USER and PASSWORD environment variable, for example,

docker run -p 6080:80 -e USER=doro -e PASSWORD=password -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

Deploy to a subdirectory (relative url root)

You may deploy this application to a subdirectory, for example /some-prefix/. You then can access application by http://127.0.0.1:6080/some-prefix/. This can be specified using the RELATIVE_URL_ROOT configuration option like this

docker run -p 6080:80 -e RELATIVE_URL_ROOT=some-prefix dorowu/ubuntu-desktop-lxde-vnc

NOTE: this variable should not have any leading and trailing splash (/)

Sound (Preview version and Linux only)

It only works in Linux.

First of all, insert kernel module snd-aloop and specify 2 as the index of sound loop device

sudo modprobe snd-aloop index=2

Start the container

docker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desktop-lxde-vnc

where --device /dev/snd -e ALSADEV=hw:2,0 means to grant sound device to container and set basic ASLA config to use card 2.

Launch a browser with URL http://127.0.0.1:6080/#/?video, where video means to start with video mode. Now you can start Chromium in start menu (Internet -> Chromium Web Browser Sound) and try to play some video.

Following is the screen capture of these operations. Turn on your sound at the end of video!

demo video

Generate Dockerfile from jinja template

WARNING: Deprecated

Dockerfile and configuration can be generated by template.

  • arch: one of amd64 or armhf
  • flavor: refer to file in flavor/flavor.yml
  • image: base image
  • desktop: desktop environment which is set in flavor
  • addon_package: Debian package to be installed which is set in flavor

Dockerfile and configuration are re-generate if they do not exist. Or you may force to re-generate by removing them with the command make clean.

Troubleshooting and FAQ

  1. boot2docker connection issue, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/2
  2. Multi-language supports, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/80
  3. Autostart, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/85#issuecomment-466778407
  4. x11vnc arguments(multiptr), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/101
  5. firefox/chrome crash (/dev/shm), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/112
  6. resize display size without destroying container, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/115#issuecomment-522426037

License

See the LICENSE file for details.

関連リポジトリ
wagoodman/dive

A tool for exploring each layer in a docker image

GoGo ModulesMIT Licensedockerdocker-image
54.3k2k
portainer/portainer

Making Docker and Kubernetes management easy.

TypeScriptnpmzlib Licensedockerdocker-swarm
portainer.io
38k2.9k
veggiemonk/awesome-docker

:whale: A curated list of Docker resources and projects

Apache License 2.0dockerawesome
average.joe.dev/awesome-docker/
36.5k3.3k
chatwoot/chatwoot

Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬

RubyRubyGemsOthervuejsintercom
chatwoot.com/help-center
34.6k8.3k
wekan/wekan

The Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . New English strings for new features at imports/i18n/data/en.i18n.json . Non-English translations at https://app.transifex.com/wekan/wekan only.

JavaScriptnpmMIT Licensekanbanmeteor
wekan.fi
21k3k
itzg/docker-minecraft-server

Docker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup

ShellApache License 2.0minecraft-serverdockerfiles
docker-minecraft-server.readthedocs.io
14k1.9k
flannel-io/flannel

flannel is a network fabric for containers, designed for Kubernetes

GoGo ModulesApache License 2.0kubernetesnetwork
9.5k2.9k
dongyubin/DockerHub

2026年7月更新,目前国内可用Docker镜像源汇总,DockerHub国内镜像加速列表,🚀DockerHub镜像加速器

dockerdocker-registry
wangdu.site/course/2109.html
9.3k421
nodejs/docker-node

Official Docker Image for Node.js :whale: :turtle: :rocket:

DockerfileMIT Licensedocker-imagedocker-node
hub.docker.com/_/node/
8.6k2k
sameersbn/docker-gitlab

Dockerized GitLab

ShellMIT Licensedockerdocker-image
damagehead.com/docker-gitlab/
8.1k2.1k
nextcloud/docker

A community maintained docker micro-image for deploying Nextcloud on container platforms

ShellGNU Affero General Public License v3.0nextclouddocker
hub.docker.com/_/nextcloud/
7.3k1.9k
hwdsl2/docker-ipsec-vpn-server

Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2. Auto-generates server config and supports VPN client setup on Linux, Windows, macOS, iOS and Android.

ShellOtherdockeripsec
hub.docker.com/r/hwdsl2/ipsec-vpn-server
7.1k1.5k