• Stars
    star
    228
  • Rank 175,267 (Top 4 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created about 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A docker image that supports rendering graphical applications.

docker-opengl

A docker image that supports rendering graphical applications, including OpenGL apps.

https://circleci.com/gh/thewtex/docker-opengl.svg?style=svg

Overview

This Docker image supports portable, CPU-based graphical application rendering, including rendering OpenGL-based applications. An X session is running on display :0 and can be viewed through HTML5 viewer on any device with a modern web browser (Mac OSX, Windows, Linux, Android, iOS, ChromeOS, ...). It can be used to expose a graphical interface from a Docker container or to run continuous integration tests that require a graphical environment.

Quick-start

Execute the run.sh script.

Details

By default, the run.sh start up the graphical session and points the user to a URL on the local host where they can view and interact with the session. On application exit, the run.sh will print the application's console output and exit with the application's return code.

The session runs Openbox as a non-root user, user that has password-less sudo privileges. The browser view is an HTML5 viewer that talks over websockets to a VNC Server. The VNC Server displays a running Xdummy session.

To customize the Docker image for your graphical application, set the APP environmental variable to the shell command required to start the application. For example:

ENV APP /usr/bin/my-gui-app

The run.sh script can be used to drive start-up. It is customizable with flags:

Usage: run.sh [-h] [-q] [-c CONTAINER] [-i IMAGE] [-p PORT] [-r DOCKER_RUN_FLAGS]

This script is a convenience script to run Docker images based on
thewtex/opengl. It:

- Makes sure docker is available
- On Windows and Mac OSX, creates a docker machine if required
- Informs the user of the URL to access the container with a web browser
- Stops and removes containers from previous runs to avoid conflicts
- Mounts the present working directory to /home/user/work on Linux and Mac OSX
- Prints out the graphical app output log following execution
- Exits with the same return code as the graphical app

Options:

  -h             Display this help and exit.
  -c             Container name to use (default opengl).
  -i             Image name (default thewtex/opengl).
  -p             Port to expose HTTP server (default 6080). If an empty
                 string, the port is not exposed.
  -r             Extra arguments to pass to 'docker run'. E.g.
                 --env="APP=glxgears"
  -q             Do not output informational messages.

See the example directory for a derived image and run.sh script that runs the glxgears OpenGL demo program.

Credits

This configuration was largely inspired by the dit4c project.

More Repositories

1

tmux-mem-cpu-load

CPU, RAM, and load monitor for use with tmux
C++
943
star
2

cython-cmake-example

Utilities and example for using CMake to build Cython modules - migrated to scikit-build
CMake
158
star
3

docker-opengl-nvidia

Docker image for running X GUI apps with OpenGL hardware acceleration via the nvidia driver.
Shell
91
star
4

screen-cpu-mem

CPU and memory usage monitoring programs for GNU Screen
C++
22
star
5

sphinx-contrib

A clone of the mercurial sphinx-contrib repository.
Python
21
star
6

docker-opengl-mesa

Docker image for running X GUI apps with OpenGL hardware acceleration via the mesa drivers.
Shell
19
star
7

craco-vtk

A plugin for craco to use vtk.js with create-react-app
JavaScript
15
star
8

ieee-nss-mic-scipy-2014

Modern Scientific Computing with Python course at IEEE Nuclear Science Symposium and Medical Imaging Conference 2014
15
star
9

matlab-cmake-hello-world

A hello world project to demonstate Matlab mex file generation with CMake.
C++
9
star
10

modern-insights-from-microscopy-images

Jupyter Notebook
9
star
11

matlab-itk-import

Read images supported by ITK into Matlab
C++
7
star
12

cmakedbg

A debugger for CMake.
Python
5
star
13

shardedstore

Provides a sharded Zarr store
Python
4
star
14

UltrasoundPhysicsInMedicalImaging

Presentation on basic ultrasound physics for medical imaging
JavaScript
4
star
15

kitware-techlunch-docker

An Introduction to Docker for Research Software Engineers
Shell
4
star
16

docker-makerware

A build for the MakerBot MakerWare software.
3
star
17

OpenCL_FFT

C++
3
star
18

ITKTutorialPyDataCarolinas2016

Jupyter Notebook
3
star
19

VTKSignedTensor

C++
3
star
20

cmake-ios-toolchain

CMake Toolchain files for the iOS SDK.
CMake
3
star
21

vtk-histogram

Create a histogram of a scalar image with VTK.
C++
3
star
22

breathelink

A sphinx extension that simultaneously calls the breathe extension and the doxylink extension.
Python
3
star
23

coiled-science-thursdays-itk

https://docs.google.com/presentation/d/e/2PACX-1vRK0wa2rEUmL-y6CS6u6hOpk8RnPiHca96ZRtHccaTMza9gwH0oxbPY7swkkqlr7Lhb_Lw-avINUz-d/pub?start=false&loop=false&delayms=3000
Jupyter Notebook
3
star
24

cv

Matthew McCormick's curriculum vitae.
TeX
2
star
25

jsoncpp-config-cmake

JsonCpp with a CMake configuration file for find_package( jsoncpp ).
C++
2
star
26

scipy-2015-docker-presentation

Shell
2
star
27

WaitForSigCont

Run a computationally expensive process outside the debugger, pause, attach with a debugger, and use SIGCONT to continue..
C++
2
star
28

vcwebedit

A Sphinx extension that enables editing Sphinx-based documentation in a web browser.
JavaScript
2
star
29

gerrit-static-archive

Create a static website archive of a Gerrit Code Review instance.
Python
2
star
30

scipy-2018-itk-jupyter-widgets-poster

2
star
31

PropertiesOfCodeReviewSocialStructures

CSS
2
star
32

dwl-multidop-l2-viewer

To view the transcranial doppler (TCD) peak velocities generated on a DWL Multidop L2.
Python
2
star
33

dotfiles

Configuration files.
Vim Script
2
star
34

ngff-zarr

A lean and kind Open Microscopy Environment (OME) Next Generation File Format (NGFF) Zarr implementation.
Python
1
star
35

thesis-presentation

1
star
36

scipy-2019-itk-jupyter-widgets-poster

itkwidgets poster for the 2019 SciPy Conference
1
star
37

docker-ieee-nss-mic-scipy-2014

Shell
1
star
38

Plus

Unofficial git-svn for Plus https://www.assembla.com/spaces/plus/wiki
C++
1
star
39

scipy-2015-castxml-presentation

TeX
1
star
40

thesis

the bane
Python
1
star
41

odt-respace

Put two spaces after sentences in an odt file
Python
1
star
42

BrainTumorVisualization

Jupyter Notebook
1
star
43

piximi-annotation-interpolation

TypeScript
1
star
44

TubeTK-ParameterSerializer

An open-source library for serialization and deserialization of Insight Segmentation and Registration Toolkit (ITK) classes.
C++
1
star
45

allen-ccf-itk-vtk-zarr

Visualization of the Allen Mouse Common Coordinate Framework brain atlas with itk.js, vtk.js, and zarr.
Jupyter Notebook
1
star
46

2018-03-22-tripython-itk-jupyter-widgets

http://trizpug.org/Members/cbc/mar-18-mtg
Jupyter Notebook
1
star
47

ITKData

Testing data for ITK
1
star
48

jupyterlite-itkwidgets-config-post

Jupyter Notebook
1
star
49

ITKStreamingResampleImageFilter

A streaming verion of the ITK ResampleImageFilter for use with linear transforms.
C++
1
star
50

thwpybc2010it

Installation test script for The Hacker Within's Python Bootcamp 2010
Python
1
star
51

ITKEtioplastSmoothing

Edge-preserving smoothing of an etioplast with ITK
Jupyter Notebook
1
star
52

rdi-reader

A File Reader for the VisualSonics Vevo 770 Digital RF Data
C++
1
star
53

sphinx-foundation-theme

A Sphinx theme that uses Zurb foundation-sites for CSS / JS presentation.
HTML
1
star
54

VTKWebAssemblyExperiment

Performance of VTK isosurface contouring algorithms in the browser as of 2018-03-30
JavaScript
1
star
55

unbiased-subsample-interpolation

http://www.ncbi.nlm.nih.gov/pubmed/23493609 The final, definitive version of this paper has been published in Ultrasonic Imaging, Vol 35/Issue 2, Apr 2013 by SAGE Publications Ltd, All rights reserved. Β© 2013
Python
1
star