Sign inSign up

rlagutinhub/docker_swarm-mode.novnc-internal-url

By rlagutinhub

Updated almost 7 years ago

noVNC Display Container: oraclelinux:7-slim + Xvfb + Fluxbox + x11vnc + noVNC + internal-url

Image
0

10K+

rlagutinhub/docker_swarm-mode.novnc-internal-url repository overview

noVNC Display Container + Docker services internal url

This image is intended to be used for displaying x11 applications from container in a browser.

  • Base image oraclelinux:7-slim

FYI https://github.com/rlagutinhub/docker.novnc


Image Contents

Build image: docker build -f Dockerfile -t docker_swarm-mode.novnc-internal-url .

Usage

Variables

You can specify the following variables:

  • DISPLAY_WIDTH=<width> (1024)
  • DISPLAY_HEIGHT=<height> (768)
  • VNC_PASS=<password> (passw0rd)
Properties

vim docker-services.internal-url.json

  • srv_name - need to specify service name
  • proto - need to specify http or https protocol
  • port - need to specify used tcp port (for example 8080)
  • url_appned - appned url (for example /console)
[
    {"srv_name": "hello1", "proto": "http", "port": "8000", "url_append": "/"},
    {"srv_name": "hello2", "proto": "http", "port": "8000", "url_append": "/"},
    {"srv_name": "hello3", "proto": "https", "port": "8000", "url_append": "/"}
]
Swarm Mode

Run with custom settings: docker stack deploy --compose-file docker-compose.yml vnc

version: '3.7'
services:
  app:
    image: rlagutinhub/docker_swarm-mode.novnc-internal-url:latest
    networks:
      - proxy
    environment:
      - "DISPLAY_WIDTH=1920"
      - "DISPLAY_HEIGHT=899"
      - "VNC_PASS=123456"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    configs:
      - source: vnc_docker-services.internal-url.json.2019-09-21
        target: /app/docker-services.internal-url.json
    shm_size: 256mb
    stop_grace_period: 1m
    deploy:
      # mode: global
      replicas: 1
      update_config:
        parallelism: 1
        delay: 10s
        order: start-first
      restart_policy:
        condition: on-failure
        delay: 10s
        max_attempts: 3
        window: 120s
      labels:
        # https://docs.traefik.io/configuration/backends/docker/#on-containers
        - "traefik.enable=true"
        - "traefik.port=6080"
        # - "traefik.weight=10"
        - "traefik.frontend.rule=Host:vnc.docker.example.com,vnc.docker.test.example.com"
        # - "traefik.frontend.rule=Host:vnc.docker.example.com,vnc.docker.test.example.com;PathPrefixStrip:/app"
        - "traefik.frontend.entryPoints=http"
        # - "traefik.frontend.entryPoints=http,https"
        # - "traefik.frontend.headers.SSLRedirect=true"
        # - "traefik.frontend.auth.basic.users=root:$$apr1$$mLRjS/wr$$QqrALWNDgW9alDmnb9DeK1"
        # - "traefik.backend.loadbalancer.stickiness=true"
        - "traefik.backend.loadbalancer.method=wrr"
      placement:
        constraints:
          - node.role == manager
          # - node.role == worker
          # - node.labels.novnc == true
networks:
  proxy:
    external: true
# volumes:
  # logs:
    # external: true
configs:
  vnc_docker-services.internal-url.json.2019-09-21:
    external: true
Result

Open a browser and see the xterm and firefox demo at http://<server>

On DockerHub / GitHub


Tag summary

Content type

Image

Digest

Size

356.6 MB

Last updated

almost 7 years ago

docker pull rlagutinhub/docker_swarm-mode.novnc-internal-url