Docker container images with "headless" VNC session
The repository contains a collection of Docker images with headless VNC environments.
Each docker image is installed with the following components:
- Desktop environment Xfce4 or IceWM
- VNC-Server (default VNC port
5901
) - noVNC - HTML5 VNC client (default http port
6901
) - Browsers:
- Mozilla Firefox
- Chromium
Current provided OS & UI sessions:
-
consol/centos-xfce-vnc
: Centos7 withXfce4
UI session -
consol/ubuntu-xfce-vnc
: Ubuntu withXfce4
UI session -
consol/centos-icewm-vnc
: Centos7 withIceWM
UI session -
consol/ubuntu-icewm-vnc
: Ubuntu withIceWM
UI session
Latest Changes
See the changelog.md.
Usage
The usage is for all provide images similar, for instance see following the usage of the consol/centos-xfce-vnc
image:
Run command with mapping to local port 5901
(vnc protocol) and 6901
(vnc web access):
docker run -d -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc
Change the default user and group within a container to your own with adding --user $(id -u):$(id -g)
:
docker run -d -p 5901:5901 -p 6901:6901 --user $(id -u):$(id -g) consol/centos-xfce-vnc
If you wan't to get into the container use interactive mode -it
and bash
docker run -d -p 5901:5901 -p 6901:6901 consol/centos-xfce-vnc
Build a image from scratch:
docker build -t consol/centos-xfce-vnc centos-xfce-vnc
=> connect via VNC viewer localhost:5901
, default password: vncpassword
=> connect via noVNC HTML5 client: http://localhost:6901/?password=vncpassword
Hints
1) Extend a Image with your own software
Since 1.1.0
all images run as non-root user per default, so that mean, if you want to extend the image and install software, you have to switch in the Dockerfile
back to the root
user:
## Custom Dockerfile
FROM consol/centos-xfce-vnc:1.1.0
MAINTAINER Tobias Schneck "tobias.schneck@consol.de"
ENV REFRESHED_AT 2017-04-10
## Install a gedit
USER 0
RUN yum install -y gedit \
&& yum clean all
## switch back to default user
USER 1984
2) Change User of running Sakuli Container
Per default, since version 1.1.0
all container processes will executed with user id 1984
. You can chnage the user id like follow:
0
)
2.1) Using root (user id Add the --user
flag to your docker run command:
docker run -it --user 0 -p 6911:6901 consol/centos-xfce-vnc
2.2) Using user and group id of host system
Add the --user
flag to your docker run command:
docker run -it -p 6911:6901 --user $(id -u):$(id -g) consol/centos-xfce-vnc
3) Override VNC environment variables
The following VNC environment variables can be overwritten at the docker run
phase to customize your desktop environment inside the container:
VNC_COL_DEPTH
, default:24
VNC_RESOLUTION
, default:1280x1024
VNC_PW
, default:my-pw
3.1) Example: Override the VNC password
Simple overwrite the value of the environment variable VNC_PW
. For example in
the docker run command:
docker run -it -p 5901:5901 -p 6901:6901 -e VNC_PW=my-pw consol/centos-xfce-vnc
3.2) Example: Override the VNC resolution
Simple overwrite the value of the environment variable VNC_RESOLUTION
. For example in
the docker run command:
docker run -it -p 5901:5901 -p 6901:6901 -e VNC_RESOLUTION=800x600 consol/centos-xfce-vnc
Contact
For questions, professional support or maybe some hints, feel free to contact us via testautomatisierung@consol.de or open an issue.
The guys behind:
ConSol Software GmbH
Franziskanerstr. 38, D-81669 München
Tel. +49-89-45841-100, Fax +49-89-45841-111
Homepage: http://www.consol.de E-Mail: info@consol.de