SlideShare a Scribd company logo
An overview of Docker
images for geospatial
applications
FOSS4G conference 2016, Bonn, Germany
Daniel Nüst
Institute for Geoinformatics
University of Münster
Talk abstract
http://2016.foss4g.org/talks.html#146
Docker is a growing open-source platform for building and shipping applications as cloud services in so
called containers. But containers can be more than that! Following the idea of DevOps, Dockerfiles are a
complete scripted definition of an application with all it's dependencies, which can be build and published
as ready to use images. As each container is only running "one thing" (e.g. one application, one database,
a worker instance), multiple containers can be configured with the help of docker-compose.
More and more geospatial open source projects or third parties provide Dockerfiles. In this talk, we try to
give an overview of the existing Docker images and docker-compose configurations for FOSS4G projects.
We report on test runs that we conducted with them, informing about the evaluation results, target
purposes, licenses, commonly used base images, and more. We will also give a short introduction into
Docker and present the purposes that Docker images can be used for, such as easy evaluation for new
users, education, testing, or common development environments.
This talk integrates and summarizes information from previous talks at FOSS4G and FOSSGIS
conferences, so I'd like to thank Sophia Parafina, Jonathan Meyer, and Björn Schilberg for their
contributions.
Agenda
What is Docker? Why?
What can it be used for?
Overview of geo-related containers
Select containers Live Demo
Why containerization?
Why Docker?
Motivation
http://www.slideshare.net/gmccance/cern-data-centre-evolution
Pets vs. Cattle
Motivation
https://www.docker.com/use-cases
Science
Reproducibility is at the of
Slide by Docker inventor & Docker, Inc. CTO Solomon Hykes, DockerCon 2014
https://www.docker.com/what-docker
https://en.wikipedia.org/wiki/Operating-system-level_virtualization
https://youtu.be/ki8CZkutoxQ
Containerization using
kernel features
namespaces
libcontainer, LXC
cgroups
resources
Houses vs. Appartments
Docker basics
Dockerfile
…
…
Docker
Image
Docker
Container
build run
pause
stop/kill
start
logs
cp
exec
rm
stats
docker-compose
configuration
…
…
use n
Docker
Container
Docker
Container
Docker
Container
up
down
Docker CLI
Docker Engine
Docker Registry
run
“Official Docker registry”: Docker Hub
https://hub.docker.com/u/osgeo/
$ docker run -it --rm osgeo/proj.4
root@f1141552cee9:/# proj
Rel. 4.9.3, dd Month yyyy
usage: proj [ -beEfiIlormsStTvVwW [args] ]
[ +opts[=arg] ] [ files ]
root@f1141552cee9:/#
Process and evaluation
Google
Search Docker Hub
Search FOSS4G talks
OSGeo project list
Criteria and data points
Goals / target users / applications (e.g. testing, dev
env,
new users, demos, …)
Maintainer (3rd party, original devs?)
License
Base image
“geo” on Docker Hub
“gis” on Docker Hub
Degree
tfr42/deegree
tfr42/teamengine
mdillon/postgis
FROM tomcat:8-jre7
MAINTAINER deegree TMC <tmc@deegree.org>
# set deegree version
ENV DEEGREE_VERSION 3.3.18
# download deegree
RUN wget
http://repo.deegree.org/content/repositories/public
/org/deegree/deegree-
webservices/${DEEGREE_VERSION}/deegree-webservices-
${DEEGREE_VERSION}.war -O
/usr/local/tomcat/webapps/deegree-webservices.war
# run tomcat
CMD ["catalina.sh", "run"]
gdal - Live Demo
docker run --rm geodata/gdal
Play around with gdal, easily use different versions (of library combinations)
https://github.com/geo-data/gdal-docker
Use it as a “binary executable” in scripts, e.g.
https://gist.github.com/spara/73972116fe751bf374e29618a10d5bed
https://hub.docker.com/r/spara/gdal_ef/
QGIS - Live Demo
xhost +
# --rm will remove the container as soon as it ends
docker run --rm --name="qgis-desktop-2.14ltr" 
-i -t 
-v ${HOME}:/home/${USER} 
-v /tmp/.X11-unix:/tmp/.X11-unix 
-e DISPLAY=unix$DISPLAY 
kartoza/qgis-desktop:2.14
xhost -
docker run --name "qgis-server-webclient" -p 8081:80 -
d -t opengisch/qgis-server-webclient
PostGIS
PostGIS - Live Demo
docker run --name some-postgis -e
POSTGRES_PASSWORD=mysecretpassword -d
mdillon/postgis
docker run -it --link some-postgis:postgres -
-rm postgres 
sh -c 'exec psql -h
"$POSTGRES_PORT_5432_TCP_ADDR" -p
"$POSTGRES_PORT_5432_TCP_PORT" -U postgres'
# list
# q
tileserver-mapnik - Live Demo
wget -c https://osm2vectortiles-
downloads.os.zhdk.cloud.switch.ch/v1.0/extracts/zurich.mbtile
s
git clone https://github.com/mapbox/mapbox-studio-osm-
bright.tm2.git
docker run -v $(pwd):/data -p 8085:80
klokantech/tileserver-mapnik
52°North WPS - Live Demo
docker run -p 80:8080 52n-wps-base
http://localhost/wps
pycsw Live Demo
docker run --rm -it -p 8000:8000
geocontainers/pycsw
http://localhost:8000/
GeoNode Live Demo
docker run -p 8000:8000 -p 8080:8080
openmarble/arch-geonode
http://localhost:8080/
GeoMOOSE Live Demo
docker run -p 80:80 --rm=true --name
geomoose_demo geomoose
http://localhost/geomoose/geomoose_dev.html
Great example: Instructions for demo, testing,
and development usage of the image
Osmosis Live Demo
docker run --rm -t -i -v $(pwd)/tmp:/data
farberg/openstreetmap-osmosis-docker --read-
pbf /data/monaco.osm.pbf --write-xml
/data/monaco.xml
docker run --rm -t -i -v $(pwd)/tmp:/data
ferimer/osmosis:20160525 --read-pbf
/data/monaco.osm.pbf --write-xml
/data/monaco2.xml
diff tmp/monaco2.xml tmp/monaco.xml
PDAL
http://www.pdal.io/workshop/docker.html
PDAL stands on the shoulders of giants. It uses
GDAL, GEOS, and many other dependencies.
Because of this, it is very challenging to build
it yourself. We could easily burn an entire
workshop learning the esoteric build miseries of
PDAL and all of its dependencies. Fortunately,
Docker will allow us to use a fully-featured known
configuration to run our examples and
exercises without having to suffer so much.
docker run -t pdal/pdal pdal --help
CartoDB
docker run -d -p 3000:3000 -p 8080:8080 -p
8181:8181 --name carto sverhoeven/cartodb
sudo sh -c 'echo 127.0.1.1 cartodb.localhost
>> /etc/hosts'
docker run -p 80:80 --link
carto:cartodb.localhost -d
spawnthink/cartodb-nginx
http://cartodb.localhost
Join on the OSGeo wiki
https://wiki.osgeo.org/wiki/DockerImages
https://wiki.osgeo.org/wiki/DockerImagesMeta
Core arguments for FOSS4G community
(all the Docker advantages… write once, biz ops, cloud, etc.)
Lower entrance barrier for users AND devs
(e.g. sandboxed stack per developer, J. Meyer)
Easier transition from testing to production
Tasks & Challenges for the community
Put your project on Docker Hub as an automated build and add a license
Use base images, extend them to provide useful variants
Collaborate with existing images!
Make services and apps configurable using ENVironment parameters and files
Projects and their developers must build up knowledge
Communicate intention of Dockerfile because there is not one Dockerfile fitting
all problems
UbuntuGIS easy, but huge images (try alpine!)
Packaging UI / Desktop applications still in flow
One more thing...
http://geocontainers.org
Geocontainers is a RIP-OFF! http://biodocker.org/
https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=foss4g&starCount=0 as of Aug 23 2016
Thanks for your attention!
What are your questions?
http://o2r.info @o2r_project
daniel.nuest@wwu.de
Thanks to…
Björn Schilberg (Intevation) - https://www.fossgis.de/konferenz/2015/programm/events/847.de.html and
https://www.youtube.com/watch?v=CeI8S_tnCZ0
Jonathan Meyer - https://2016.foss4g-na.org/session/image-mosaics-automation
Sophia Parafina - https://2016.foss4g-na.org/session/spatial-data-processing-docker

More Related Content

What's hot

Docker on ARM Raspberry Pi
Docker on ARM Raspberry PiDocker on ARM Raspberry Pi
Docker on ARM Raspberry Pi
Eueung Mulyana
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in Libraries
Cary Gordon
 
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz SnapshotterThe overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
Kohei Tokunaga
 
Docker研習營
Docker研習營Docker研習營
Docker研習營
Philip Zheng
 
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarProduction FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
Paris Container Day
 
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Kohei Tokunaga
 
Starting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesStarting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of Images
Kohei Tokunaga
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
Kohei Tokunaga
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
容器與資料科學應用
容器與資料科學應用容器與資料科學應用
容器與資料科學應用
Philip Zheng
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話
Kohei Tokunaga
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
Kohei Tokunaga
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
Kohei Tokunaga
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
Kohei Tokunaga
 
Into The Box 2018 | Content box + docker
Into The Box 2018 | Content box + dockerInto The Box 2018 | Content box + docker
Into The Box 2018 | Content box + docker
Ortus Solutions, Corp
 
Docker for the Internet of Things (IoT): An Introduction
Docker for the Internet of Things (IoT): An IntroductionDocker for the Internet of Things (IoT): An Introduction
Docker for the Internet of Things (IoT): An Introduction
msyukor
 
Data Science Workflows using Docker Containers
Data Science Workflows using Docker ContainersData Science Workflows using Docker Containers
Data Science Workflows using Docker Containers
Aly Sivji
 
There is no container - Ori Pekelman
There is no container - Ori PekelmanThere is no container - Ori Pekelman
There is no container - Ori Pekelman
Paris Container Day
 
Paris container day june17
Paris container day   june17Paris container day   june17
Paris container day june17
Paris Container Day
 
Java applications containerized and deployed
Java applications containerized and deployedJava applications containerized and deployed
Java applications containerized and deployed
Anthony Dahanne
 

What's hot (20)

Docker on ARM Raspberry Pi
Docker on ARM Raspberry PiDocker on ARM Raspberry Pi
Docker on ARM Raspberry Pi
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in Libraries
 
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz SnapshotterThe overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
 
Docker研習營
Docker研習營Docker研習營
Docker研習營
 
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarProduction FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
 
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
 
Starting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesStarting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of Images
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
 
容器與資料科學應用
容器與資料科學應用容器與資料科學應用
容器與資料科學應用
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
 
Into The Box 2018 | Content box + docker
Into The Box 2018 | Content box + dockerInto The Box 2018 | Content box + docker
Into The Box 2018 | Content box + docker
 
Docker for the Internet of Things (IoT): An Introduction
Docker for the Internet of Things (IoT): An IntroductionDocker for the Internet of Things (IoT): An Introduction
Docker for the Internet of Things (IoT): An Introduction
 
Data Science Workflows using Docker Containers
Data Science Workflows using Docker ContainersData Science Workflows using Docker Containers
Data Science Workflows using Docker Containers
 
There is no container - Ori Pekelman
There is no container - Ori PekelmanThere is no container - Ori Pekelman
There is no container - Ori Pekelman
 
Paris container day june17
Paris container day   june17Paris container day   june17
Paris container day june17
 
Java applications containerized and deployed
Java applications containerized and deployedJava applications containerized and deployed
Java applications containerized and deployed
 

Similar to Docker @ FOSS4G 2016, Bonn

BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
kanedafromparis
 
Be a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the trade
Nicola Paolucci
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
Andrey Hristov
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeDocker, Inc.
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
Carlo Bonamico
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
양재동 코드랩
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
Roman Rodomansky
 
Docker - Der Wal in der Kiste
Docker - Der Wal in der KisteDocker - Der Wal in der Kiste
Docker - Der Wal in der Kiste
Ulrich Krause
 
Docker training
Docker trainingDocker training
Docker training
Kiran Kumar
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung Docker workshop 0507 Taichung
Docker workshop 0507 Taichung
Paul Chao
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
vty
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
msyukor
 
Docker and the Container Revolution
Docker and the Container RevolutionDocker and the Container Revolution
Docker and the Container Revolution
Romain Dorgueil
 
Docker Dhahran Nov 2016 meetup
Docker Dhahran Nov 2016 meetupDocker Dhahran Nov 2016 meetup
Docker Dhahran Nov 2016 meetup
Walid Shaari
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle Recap
Philipp Garbe
 
Continuous Delivery with Docker and Jenkins pipeline
Continuous Delivery with Docker and Jenkins pipelineContinuous Delivery with Docker and Jenkins pipeline
Continuous Delivery with Docker and Jenkins pipeline
Slam Han
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
Liang Bo
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Ben Hall
 

Similar to Docker @ FOSS4G 2016, Bonn (20)

BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
 
Be a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the trade
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the Trade
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
 
Docker - Der Wal in der Kiste
Docker - Der Wal in der KisteDocker - Der Wal in der Kiste
Docker - Der Wal in der Kiste
 
Docker training
Docker trainingDocker training
Docker training
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung Docker workshop 0507 Taichung
Docker workshop 0507 Taichung
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
 
Docker and the Container Revolution
Docker and the Container RevolutionDocker and the Container Revolution
Docker and the Container Revolution
 
Docker Dhahran Nov 2016 meetup
Docker Dhahran Nov 2016 meetupDocker Dhahran Nov 2016 meetup
Docker Dhahran Nov 2016 meetup
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle Recap
 
Continuous Delivery with Docker and Jenkins pipeline
Continuous Delivery with Docker and Jenkins pipelineContinuous Delivery with Docker and Jenkins pipeline
Continuous Delivery with Docker and Jenkins pipeline
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 

More from Daniel Nüst

RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
Daniel Nüst
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
Daniel Nüst
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science Meetup
Daniel Nüst
 
Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...
Daniel Nüst
 
Atlas Zukünfte
Atlas ZukünfteAtlas Zukünfte
Atlas Zukünfte
Daniel Nüst
 
Frameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with RFrameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with R
Daniel Nüst
 
Agile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-webAgile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-web
Daniel Nüst
 
Visualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor ObservationsVisualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor Observations
Daniel Nüst
 
WPS Application Patterns
WPS Application PatternsWPS Application Patterns
WPS Application Patterns
Daniel Nüst
 
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC StandardsJavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
Daniel Nüst
 
Open Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development ProjectsOpen Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development Projects
Daniel Nüst
 
5 Star Open Geoprocessing
5 Star Open Geoprocessing5 Star Open Geoprocessing
5 Star Open Geoprocessing
Daniel Nüst
 
The 52°North Web Processing Service
The 52°North Web Processing ServiceThe 52°North Web Processing Service
The 52°North Web Processing Service
Daniel Nüst
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdfDaniel Nüst
 
OGC SOS for Your Data
OGC SOS for Your DataOGC SOS for Your Data
OGC SOS for Your Data
Daniel Nüst
 
sos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from Rsos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from R
Daniel Nüst
 
Connecting R to the Sensor Web
Connecting R to the Sensor WebConnecting R to the Sensor Web
Connecting R to the Sensor Web
Daniel Nüst
 
sos4R @ OGC TC
sos4R @ OGC TCsos4R @ OGC TC
sos4R @ OGC TC
Daniel Nüst
 
sos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentationsos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentation
Daniel Nüst
 
Visualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor DataVisualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor Data
Daniel Nüst
 

More from Daniel Nüst (20)

RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science Meetup
 
Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...
 
Atlas Zukünfte
Atlas ZukünfteAtlas Zukünfte
Atlas Zukünfte
 
Frameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with RFrameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with R
 
Agile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-webAgile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-web
 
Visualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor ObservationsVisualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor Observations
 
WPS Application Patterns
WPS Application PatternsWPS Application Patterns
WPS Application Patterns
 
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC StandardsJavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
 
Open Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development ProjectsOpen Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development Projects
 
5 Star Open Geoprocessing
5 Star Open Geoprocessing5 Star Open Geoprocessing
5 Star Open Geoprocessing
 
The 52°North Web Processing Service
The 52°North Web Processing ServiceThe 52°North Web Processing Service
The 52°North Web Processing Service
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdf
 
OGC SOS for Your Data
OGC SOS for Your DataOGC SOS for Your Data
OGC SOS for Your Data
 
sos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from Rsos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from R
 
Connecting R to the Sensor Web
Connecting R to the Sensor WebConnecting R to the Sensor Web
Connecting R to the Sensor Web
 
sos4R @ OGC TC
sos4R @ OGC TCsos4R @ OGC TC
sos4R @ OGC TC
 
sos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentationsos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentation
 
Visualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor DataVisualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor Data
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

Docker @ FOSS4G 2016, Bonn

  • 1. An overview of Docker images for geospatial applications FOSS4G conference 2016, Bonn, Germany Daniel Nüst Institute for Geoinformatics University of Münster
  • 2. Talk abstract http://2016.foss4g.org/talks.html#146 Docker is a growing open-source platform for building and shipping applications as cloud services in so called containers. But containers can be more than that! Following the idea of DevOps, Dockerfiles are a complete scripted definition of an application with all it's dependencies, which can be build and published as ready to use images. As each container is only running "one thing" (e.g. one application, one database, a worker instance), multiple containers can be configured with the help of docker-compose. More and more geospatial open source projects or third parties provide Dockerfiles. In this talk, we try to give an overview of the existing Docker images and docker-compose configurations for FOSS4G projects. We report on test runs that we conducted with them, informing about the evaluation results, target purposes, licenses, commonly used base images, and more. We will also give a short introduction into Docker and present the purposes that Docker images can be used for, such as easy evaluation for new users, education, testing, or common development environments. This talk integrates and summarizes information from previous talks at FOSS4G and FOSSGIS conferences, so I'd like to thank Sophia Parafina, Jonathan Meyer, and Björn Schilberg for their contributions.
  • 3. Agenda What is Docker? Why? What can it be used for? Overview of geo-related containers Select containers Live Demo
  • 8. Slide by Docker inventor & Docker, Inc. CTO Solomon Hykes, DockerCon 2014
  • 10. Docker basics Dockerfile … … Docker Image Docker Container build run pause stop/kill start logs cp exec rm stats docker-compose configuration … … use n Docker Container Docker Container Docker Container up down Docker CLI Docker Engine Docker Registry run
  • 12. https://hub.docker.com/u/osgeo/ $ docker run -it --rm osgeo/proj.4 root@f1141552cee9:/# proj Rel. 4.9.3, dd Month yyyy usage: proj [ -beEfiIlormsStTvVwW [args] ] [ +opts[=arg] ] [ files ] root@f1141552cee9:/#
  • 13. Process and evaluation Google Search Docker Hub Search FOSS4G talks OSGeo project list Criteria and data points Goals / target users / applications (e.g. testing, dev env, new users, demos, …) Maintainer (3rd party, original devs?) License Base image
  • 16. Degree tfr42/deegree tfr42/teamengine mdillon/postgis FROM tomcat:8-jre7 MAINTAINER deegree TMC <tmc@deegree.org> # set deegree version ENV DEEGREE_VERSION 3.3.18 # download deegree RUN wget http://repo.deegree.org/content/repositories/public /org/deegree/deegree- webservices/${DEEGREE_VERSION}/deegree-webservices- ${DEEGREE_VERSION}.war -O /usr/local/tomcat/webapps/deegree-webservices.war # run tomcat CMD ["catalina.sh", "run"]
  • 17. gdal - Live Demo docker run --rm geodata/gdal Play around with gdal, easily use different versions (of library combinations) https://github.com/geo-data/gdal-docker Use it as a “binary executable” in scripts, e.g. https://gist.github.com/spara/73972116fe751bf374e29618a10d5bed https://hub.docker.com/r/spara/gdal_ef/
  • 18. QGIS - Live Demo xhost + # --rm will remove the container as soon as it ends docker run --rm --name="qgis-desktop-2.14ltr" -i -t -v ${HOME}:/home/${USER} -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY kartoza/qgis-desktop:2.14 xhost - docker run --name "qgis-server-webclient" -p 8081:80 - d -t opengisch/qgis-server-webclient
  • 20. PostGIS - Live Demo docker run --name some-postgis -e POSTGRES_PASSWORD=mysecretpassword -d mdillon/postgis docker run -it --link some-postgis:postgres - -rm postgres sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres' # list # q
  • 21. tileserver-mapnik - Live Demo wget -c https://osm2vectortiles- downloads.os.zhdk.cloud.switch.ch/v1.0/extracts/zurich.mbtile s git clone https://github.com/mapbox/mapbox-studio-osm- bright.tm2.git docker run -v $(pwd):/data -p 8085:80 klokantech/tileserver-mapnik
  • 22. 52°North WPS - Live Demo docker run -p 80:8080 52n-wps-base http://localhost/wps
  • 23. pycsw Live Demo docker run --rm -it -p 8000:8000 geocontainers/pycsw http://localhost:8000/
  • 24. GeoNode Live Demo docker run -p 8000:8000 -p 8080:8080 openmarble/arch-geonode http://localhost:8080/
  • 25. GeoMOOSE Live Demo docker run -p 80:80 --rm=true --name geomoose_demo geomoose http://localhost/geomoose/geomoose_dev.html Great example: Instructions for demo, testing, and development usage of the image
  • 26. Osmosis Live Demo docker run --rm -t -i -v $(pwd)/tmp:/data farberg/openstreetmap-osmosis-docker --read- pbf /data/monaco.osm.pbf --write-xml /data/monaco.xml docker run --rm -t -i -v $(pwd)/tmp:/data ferimer/osmosis:20160525 --read-pbf /data/monaco.osm.pbf --write-xml /data/monaco2.xml diff tmp/monaco2.xml tmp/monaco.xml
  • 27. PDAL http://www.pdal.io/workshop/docker.html PDAL stands on the shoulders of giants. It uses GDAL, GEOS, and many other dependencies. Because of this, it is very challenging to build it yourself. We could easily burn an entire workshop learning the esoteric build miseries of PDAL and all of its dependencies. Fortunately, Docker will allow us to use a fully-featured known configuration to run our examples and exercises without having to suffer so much. docker run -t pdal/pdal pdal --help
  • 28. CartoDB docker run -d -p 3000:3000 -p 8080:8080 -p 8181:8181 --name carto sverhoeven/cartodb sudo sh -c 'echo 127.0.1.1 cartodb.localhost >> /etc/hosts' docker run -p 80:80 --link carto:cartodb.localhost -d spawnthink/cartodb-nginx http://cartodb.localhost
  • 29. Join on the OSGeo wiki https://wiki.osgeo.org/wiki/DockerImages https://wiki.osgeo.org/wiki/DockerImagesMeta
  • 30. Core arguments for FOSS4G community (all the Docker advantages… write once, biz ops, cloud, etc.) Lower entrance barrier for users AND devs (e.g. sandboxed stack per developer, J. Meyer) Easier transition from testing to production
  • 31. Tasks & Challenges for the community Put your project on Docker Hub as an automated build and add a license Use base images, extend them to provide useful variants Collaborate with existing images! Make services and apps configurable using ENVironment parameters and files Projects and their developers must build up knowledge Communicate intention of Dockerfile because there is not one Dockerfile fitting all problems UbuntuGIS easy, but huge images (try alpine!) Packaging UI / Desktop applications still in flow
  • 33. Geocontainers is a RIP-OFF! http://biodocker.org/
  • 35. Thanks for your attention! What are your questions? http://o2r.info @o2r_project daniel.nuest@wwu.de Thanks to… Björn Schilberg (Intevation) - https://www.fossgis.de/konferenz/2015/programm/events/847.de.html and https://www.youtube.com/watch?v=CeI8S_tnCZ0 Jonathan Meyer - https://2016.foss4g-na.org/session/image-mosaics-automation Sophia Parafina - https://2016.foss4g-na.org/session/spatial-data-processing-docker

Editor's Notes

  1. https://www.google.de/search?q=reproducible+research&biw=1680&bih=929&source=lnms&tbm=isch&sa=X&ved=0ahUKEwif573s-YrLAhWHOBQKHWpmBfwQ_AUIBigB
  2. DEVELOP COLLABORATE SCALE “Containers are an application delivery technology” Multiple containers on the same shared infrastructure Package your application into a standardized unit for software development Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment. VIRTUAL MACHINES Virtual machines include the application, the necessary binaries and libraries, and an entire guest operating system -- all of which can amount to tens of GBs. CONTAINERS Containers include the application and all of its dependencies --but share the kernel with other containers, running as isolated processes in user space on the host operating system. Docker containers are not tied to any specific infrastructure: they run on any computer, on any infrastructure, and in any cloud. BUILD BETTER SOFTWARE Skip the setup and maintenance of development environments and language-specific tooling. Focus on creating new features, fixing issues, and shipping software. SHARE AND COLLABORATE Docker creates a common framework for developers and sysadmins to work together on distributed applications DISTRIBUTE & SHARE CONTENT Store, distribute, and manage Docker images in Docker Hub with your team. Image updates, changes, and history are automatically shared across your organization. SIMPLY SHARE YOUR APPLICATION WITH OTHERS Ship containers without worrying about environment dependencies creating issues for your application. Other teams can easily link to or test against your app without having to learn about how it works. SHIP SOFTWARE FASTER AND AT SCALE Docker allows you to dynamically change your application -- from adding new capabilities and scaling services, to quickly changing problem areas. SHIP 7X MORE On average, Docker users ship 7X more software after deploying Docker in their environment. More frequent software updates provide added value to customers. QUICKLY SCALE Docker containers spin up and down in seconds, making it easy to scale application services to satisfy peak customer demand, and then reduce running containers when demand ebbs. EASILY REMEDIATE ISSUES Docker makes it easy to identify issues, isolate the problem container, quickly roll back to make the necessary changes, and then push the updated container into production. Isolation between containers makes these changes less disruptive than in traditional software models.
  3. https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=1&q=geo&starCount=0 https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=geo&starCount=1
  4. https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=1&q=gis&starCount=0
  5. https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=foss4g&starCount=0