startxfr/docker-images

Image Chrome

STARTX Profile licence Sources last commit Build Status Dockerhub Registry Docker chrome pulls Docker Repository on Quay

Simple container used to server VNC based chrome browser. Run chrome browser application under a container based on startx/fedora container

Available flavours

Docker Hub repository Content Firefox
startx/vdi-chrome:latest Fedora core rawhide 90.0.4430.212
startx/vdi-chrome:fc36 Fedora core 36 90.0.4430.212
startx/vdi-chrome:fc35 Fedora core 35 90.0.4430.212
startx/vdi-chrome:fc34 Fedora core 34 90.0.4430.212
startx/vdi-chrome:fc33 Fedora core 33 90.0.4430.212
startx/vdi-chrome:fc32 Fedora core 32
startx/vdi-chrome:fc31 Fedora core 31 90.0.4430.212
startx/vdi-chrome:fc30 Fedora core 30
startx/vdi-chrome:fc29 Fedora core 29 70.0.3538.77
startx/vdi-chrome:fc28 Fedora core 28 50.0.2661.102
startx/vdi-chrome:alma8 Alma 8 90.0.4430.212
startx/vdi-chrome:rocky8 Rocky 8 90.0.4430.212
startx/vdi-chrome:centos8 Centos 8 90.0.4430.212
startx/vdi-chrome:centos7 Centos 7 90.0.4430.212
startx/vdi-chrome:alpine3 Alpine 3.12

Running from dockerhub registry

If you want to be guided on setting-up and installing various containers engines (docker, podman, s2i, dockerEE, kubernetes, openshift) you can read ours containers engines guidelines.

  • with docker you can run docker run -it --name="vdi-chrome" startx/vdi-chrome from any docker host
  • with docker-compose you can create a docker-compose.yml file with the following content
service:
  image: startx/vdi-chrome:latest
  container_name: "vdi-chrome"
  volumes:
    - "/tmp/container/chrome/logs:/logs:z"
    - "/tmp/container/chrome/data:/home/chrome:z"

Using this image as Openshift Build image

You can use this public image as a base image in your openshift build strategy. You can first import our openshift image stream and automatically add them in your service catalog. You can also test our deploy template or our build and deploy template

# import image streams
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/VDI/chrome/openshift-imageStreams.yml
# import deploy template and start a sample application
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/VDI/chrome/openshift-template-deploy.yml
oc process startx-chrome-deploy-template | oc create -f -
# import build and deploy template and start a sample application
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/VDI/chrome/openshift-template-build.yml
oc process startx-vdi-chrome-build-template | oc create -f -

Using this image as S2I builder

You can use this image as an s2i builder image.

s2i build https://gitlab.com/startx1/containers-example-chrome startx/vdi-chrome test-chrome
docker run --rm -i -t test-chrome

Docker-compose in various situations

  • sample docker-compose.yml linked to host port 1000
service:
  image: startx/vdi-chrome:latest
  container_name: "vdi-chrome"
  ports:
    - "1000:5900"
  • sample docker-compose.yml with port exposed only to linked VDI
service:
  image: startx/vdi-chrome:latest
  container_name: "vdi-chrome"
  expose:
    - "5900"
  • sample docker-compose.yml using data container
data:
  image: startx/fedora:latest
  container_name: "vdi-chrome-data"
service:
  image: startx/vdi-chrome:latest
  container_name: "vdi-chrome"
  volume_from:
    - data:rw

Using this image as base container

You can use this Dockerfile template to start a new personalized container based on this container. Create a file named Dockerfile in your project directory and copy this content inside. See docker guide for instructions on how to use this file.

FROM quay.io/startx/vdi-chrome:latest
#... your container specifications
CMD ["/bin/sx", "run"]

Environment variable

This container is based on startx fedora container who came with some additional environment variable

Variable Type Mandatory Description
base image environement see environment list
SERVER_NAME string no Server name for this container. If no name localhost will be assigned
HOSTNAME auto auto Container unique id automatically assigned by docker daemon at startup
LOG_PATH auto auto default set to /var/log/chrome and used as a volume mountpoint
APP_PATH auto auto default set to /data and used as a volume mountpoint
SX_CHROME_SCREEN_RES_X 1024x768x24 auto Define the screen resolution for X server
SX_CHROME_SCREEN_RES_CHROME 1024,768 auto Define the screen resolution for Chrome GUI window

Exposed port

Port Description
5900 standard httpd network port used for non encrypted http traffic

Exposed volumes

Container directory Description
/logs log directory used to record container and chrome logs
/home/chrome data directory served by chrome. If empty will be filled with app on startup. In other case use content from mountpoint or data volumes

Testing the desktop application

access to the running Browser with your favorites vnc client vinagre vnc://localhost:5900. Change port and hostname according to your current configuration

For advanced users

You want to use this container and code to build and create locally this container, follow theses instructions.

This section will help you if you want to :

  • Get latest version of this desktop container
  • Enhance container content by adding instruction in Dockefile before build step

You must have a working environment with the source code of this repository. Read and follow how to setup your working environment to get a working directory. The following instructions assume you are at the top level of your working directory.

Build & run a container using docker

  1. Jump into the container directory with cd VDI/chrome
  2. Build the container using docker build -t vdi-chrome .
  3. Run this container
  4. Interactively with docker run -p 5900:5900 -v /data:/home/chrome -it vdi-chrome. If you add a second parameter (like /bin/bash) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex: /bin/bash, /bin/ps -a, /bin/df -h,...)
  5. As a daemon with docker run -p 5900:5900 -v /data:/home/chrome -d vdi-chrome

Build & run a container using docker-compose

  1. Jump into the container directory with cd VDI/chrome
  2. Run this container
  3. Interactively with docker-compose up Startup logs appears and escaping this command stop the container
  4. As a daemon with docker-compose up -d. Container startup logs can be read using docker-compose logs

If you experience trouble with port already used, edit docker-compose.yml file and change port mapping