An overview of Docker images for geospatial applications

51 views

Formal Metadata

Title
An overview of Docker images for geospatial applications
Title of Series
Part Number
186
Number of Parts
193
Author
Nüst, Daniel (Institute for Geoinformatics, University of Münster)
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
DOI
Publisher
FOSS4G, Open Source Geospatial Foundation (OSGeo)
Release Date
2016
Language
English
Production Place
Bonn

Content Metadata

Subject Area
Abstract
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.
Keywords
Institute for Geoinformatics
University of Münster
Loading...
Medical imaging Goodness of fit Video game Computer animation Augmented reality Multiplication sign Computer-generated imagery Demo (music) Monster group Abstraction Number Metric tensor
Slide rule MUD Multiplication sign Coma Berenices Point cloud Scalability Number Summation Data model Medical imaging Computer animation Computer cluster Authorization Pattern language Right angle Contrast (vision) Identical particles Game theory Curve fitting Wide area network
Vapor barrier Service (economics) Code Real number Run-time system Mereology Information technology consulting Formal language Twitter Operator (mathematics) Analytic continuation Run time (program lifecycle phase) Area Default (computer science) Email Demo (music) Real number Software developer Projective plane Mathematical analysis Interface (computing) Coma Berenices Cloud computing Set (mathematics) Arithmetic mean Computer animation Integrated development environment Quicksort Mathematical optimization Mathematical optimization
Mobile app Service (economics) Computer file Virtual machine Weight Revision control Summation Medical imaging Kernel (computing) Operating system File system Subtraction Physical system Mobile app Pairwise comparison Moment (mathematics) Line (geometry) Cartesian coordinate system Word Kernel (computing) Computer animation Right angle Quicksort Reading (process) Library (computing)
Windows Registry Statistics Mobile app Server (computing) Service (economics) Computer file Computer-generated imagery Medical imaging Blog Profil (magazine) Database Core dump Statistics Configuration space Information security Default (computer science) Process (computing) Building Keyboard shortcut Windows Registry Causality Computer animation Computer cluster Computer network Configuration space Quicksort
Point (geometry) Medical imaging Radical (chemistry) Computer animation Software Data storage device Mathematical analysis Interactive television Self-organization Windows Registry Library (computing)
Point (geometry) Windows Registry Computer file Computer-generated imagery Combinational logic Point cloud Electronic mailing list Software maintenance Revision control Medical imaging Mixture model Performance appraisal Damping Process (computing) Subtraction Physical system Information Software developer Point (geometry) Projective plane Bit Software maintenance Statistical hypothesis testing Computer animation Repository (publishing) Personal digital assistant Right angle Quicksort Library (computing)
Service (economics) Degree (graph theory) Content (media) Computer animation Tape drive Set (mathematics) Electronic mailing list Personal area network Quicksort
Computer programming Server (computing) Computer file Multiplication sign Demo (music) Binary code Computer 2 (number) Medical imaging Degree (graph theory) Local ring Library (computing) Scripting language Software developer Instance (computer science) Local Group Maxima and minima Degree (graph theory) Uniform resource locator Inversion (music) Computer animation Integrated development environment Personal digital assistant Revision control Hacker (term)
Slide rule Product (category theory) Multiplication sign Demo (music) Computer-generated imagery File format Binary code Grass (card game) Generic programming Variance Revision control Medical imaging Virtual reality Read-only memory Information Theory of everything Arc (geometry) ASCII Demo (music) Information CAN bus Array data structure Computer animation 4 (number) Raster graphics Information security Data transmission PNG
Demon Decision tree learning Demo (music) Computer-generated imagery Parameter (computer programming) Distance Disk read-and-write head Computer 2 (number) Revision control Medical imaging Arithmetic mean Stress (mechanics) Term (mathematics) Dependent and independent variables Data structure Extension (kinesiology) Local ring Posterior probability Installation art Link (knot theory) Demon Scaling (geometry) Process (computing) Online help Server (computing) Cellular automaton Computer file Sampling (statistics) Ultraviolet photoelectron spectroscopy Variable (mathematics) Cartesian coordinate system Arithmetic mean Error message Computer animation Integrated development environment Personal digital assistant System on a chip Password Revision control Electronic visual display
Line (geometry) Demo (music) Computer-generated imagery Password Electronic mailing list Mereology Centralizer and normalizer Internetworking Dependent and independent variables Physical law Link (knot theory) Demon Online help Server (computing) Ext functor Binary file Template (C++) Error message Computer animation Database Uniform resource name Spherical cap Revision control Supersonic speed Code
Reading (process) Decision tree learning MUD Line (geometry) Demo (music) Computer-generated imagery Password Electronic mailing list Writing Device driver Dependent and independent variables Physical law Conditional-access module Local ring Surjective function Link (knot theory) Demon Online help Point (geometry) Usability Mereology Binary file Computer programming Statistical hypothesis testing Template (C++) Maxima and minima Fermat's Last Theorem Emulator Error message Resource allocation Computer animation Database Personal digital assistant Uniform resource name Spherical cap Revision control Connectivity (graph theory) Code
Decision tree learning Link (knot theory) Wiki Computer animation Smart card Server (computing) Geometry Coma Berenices Local ring
Statistical hypothesis testing Metropolitan area network Group action Product (category theory) Vapor barrier Geometry Software developer Projective plane Interior (topology) Cartesian coordinate system Statistical hypothesis testing 10 (number) Statistical hypothesis testing Summation Wiki Computer animation Software Multi-agent system Uniform resource name Moving average Physical law Conditional-access module Task (computing) Library (computing)
Area Game controller 3 (number) Mereology Deutscher Filmpreis Medical imaging Goodness of fit Sic Event horizon Computer animation Operator (mathematics) Database Gastropod shell Right angle Absolute value Information Quicksort 5 (number) Extension (kinesiology) Subtraction
Medical imaging Computer animation Integrated development environment Profil (magazine) Personal digital assistant System on a chip Geometry Multiplication sign Software framework Moving average Integrated development environment Data structure
Computer animation
my name is I come not too
far from here from monster from the Institute for G metrics that today I would like to talk to you about the doctor so maybe a quick show of hands who has you stop it before OK who was written that proper image and the profound self care was published that image on the ground good so the last number is important for me and so this just a talk abstract for will whatever and what I want to talk about today what a stalker why is there something like what can be used for and I would like to give an overview of containers that are your related some of so I'm very happy that doesn't say much it's going to be a comprehensive overview less than if you spend a few days trying to go through all the images and augmentation and all this is a start for the community to learn more about it and then of course if time allows 1 to show a few life Tamils uh so why containerization and wide topic so the and the idea behind containerization is often described by the images
which is not I can come up with that of pets versus capital so that
pattern something that you nurture nurses served notice that you need to care for them at a given names and in contrast to capital which is something that more gets a number and they are almost identical they are exchangeable and to another slide but the original and author actually set and if a tactile if cattle gets sick he shouldn't be a new 1 right and that's what containers of 4 and they are identical images of something that you want to distribute once 1 time 10 times 100 times you worry about scalability Cloud infrastructures those things so that is what the proper containers are made for so motivation
comes from different areas and 1 is continuous innovation continuous development so containers often used to create and development environments from the recent Dr. columns the B. conference there every year and a half their means the company so they have a very and nice and keynote 1 of ours of amazing alive demos and all of this so I recommend watching it if you want to get to know what more if no more about talker and and 1 part of the same was 15 minutes often you develop a coming to work sitting down at his new desk and fixing this 1st part within 15 minutes so it's also what something that the ties with new stock for and defaults so breaking down the barrier between development and operations giving these people a common language a common interface to work with and that is containers so developers create the containers and operations can easily create services based on these containers and of course the data cannot be missed here so when you have large datasets to work with cloud infrastructures today so we don't really care about where you server he just want to have a switch and say OK now I have a hundred e-mail services and I need 50 more with a set of about and so intercept optimization goes in the same area when you are can easily change between cloud providers for example you are more independent and more efficient OK why do I work with doctor I work in research project called opening reproducible research and we worry about archiving research so um today when you when you are researcher you write a paper published a paper and that's it is more more the trend towards people's publishing data which is good and but there is not yet a solution that to also archived the runtime environment so the common the common notion is that and researchers cannot reproduce their own analysis after 5 years and sort of 1 work on that 1 improve on that and Dr. is the tool that we use basically to preserve the runtime around aside because just the paper the code and the data is not enough OK so abilities and consultants
and that's why I work with so and I'm going to use containers and you could containerization basically interchangeably today and because the in the idea of containers around longer than doctor but doctors basically make the whole thing easy to use and this is a quote by by some the documents some heights and the real value of talkers not technology it's getting people to agree on something so this again the idea of development operations bring we've being brought closer together
so how do contain work and or how does doctor were compared to what you might say version machine is which is probably more ideas more and
therefore broadly known is that 11 sentences here you have some infrastructure you have also operating system you have a hypervisor and then when this hypervisor you have different guest OS running with different applications snaps Dr. or containers now strip out this hypervisor instead have a doctor engine and you have here all the libraries and the apps and directly sort of closer to the the host operating system so um sometimes doctors called light weight fertilization but an image that I like more and that I've taken over from from other talks is the comparison of houses villas apartments so house basically everything is yours right services street everything that comes in from the street you control when you just have 1 apartment building he shares some infrastructure and that's also what containers to there's also a lot easier to sort of move from 1 apartment to the others have moved from a from 1 house to the other and and some technical details just some of the key words here uh how docker works it's basically um using kernel features for separating the different processes so that they don't interfere with with each other but also that you don't have to replicate that say the kernel because everybody's just reading libraries from the kernel and the moment that 1 image wants to write something on the line to a library there's sort of a read on right and this is a file system that the moment 1 image right something it gets its own copy of that file OK quick run-through a
basics although most of you might have seen some notice before and the idea is that you write basically a recipe for a doctor container the search for an image in a file is called the profile and just have a collection of basically shall instructions and then use that up a command line interface to build an image from these instructions and then you can start this image for the Run command and then it's a container and then you can pause discontented and stuff that you can look at the locks you can copy files out of it you can remove it again you can look at front-end statistics of this container but do not only have I
can do this for yourself but you can also use stock images that other people created and that's what the doctor registries for it's just a registry of images and the most commonly used registries that are perhaps of the official registry and and then if you have services so the idea behind the containers is also that you should have 1 process for a container so if you put the app server and you database in 1 container and you're not doing it in the way it was intended so when you have a collection of apps that you want to bind together you can use them something called Dr. compose so they're succumbed to compose configuration file and you can basically with 1 command at most up you can start 1 2 3 100 containers and and 1 core feature was adopted as successful is that these containers they have their own network layer so you don't have to work for about security really it's sort of security as secure from by default but of course you can mess with everything if you want to um good so dark already
said that is of his and other brokerages 3 and there was also my starting point when I did this stuff an analysis of what is out there and related to shield and spatial software
and so there is isn't always to your account but perhaps it has exactly 1 image uh and you can run this if you want it works so just look at how Dr. I can execute such an image from the promoter perhaps by on the mother as a doctor a couple of comments saying that I don't wanna store this container basically throw away when it's done but I wanna see an interactive terminal terminal they're just say all to your a slash front for which is the name of the image and that's it is going to download that image running and in this case and give me shall and then in there is this approach library that I can use so this is not was the account where was your organization and perhaps good just 1 image lots of
and so what I do I Google search and or a search and previous prosody talks there were a few of them were very helpful and look to the US you prejudice and serve just try to get my hands on as many as topic and honest as possible and if you can't you in points values and what I want to know what the goal of these of these images is you can use them for very different yeah reasons you can say I want create and adopt the image that is perfectly for deployment members in cloud and can easily scale this say I want to have an image that's good for developers to use it is that I want to have some an image that has meant that has many different versions say to them have many different combinations of certain libraries right because 1 common use cases that use adopted the container basically as a binary and you don't have to worry about compiling and do these different libraries work together and you can just download the doctor the top image from the container and basically have 1 system dependency and that's a doctor and so I don't know if this is the information about these these skulls and they would like to know who's the maintainer right is there are there any images out there by the original developers of the project and that of course is that some and information but also learn a bit about the base images that something I didn't mention for so in this talk file basically you don't start you can start from scratch um and that's the literally the command but it can also start from other images so a common thing is just to start from ball into and then you do your own stuff and so maybe there's some some common notion OK so is search on for and upper half to get actually 1024 repositories with things from uh and these details this week
there's things that we heard about the some juice over there's also if you of images that are not directly to sort of related to for example search for GIS you also get the official docket registry because it SGS and um exceeded the 2nd most so this is sort of by the yes of of pulp mixture of popularity and and downloads 2nd 1 is posture this would things called directly after the registry in
so this was sort of it was sort of by stars and it is suppressed stars postures the 2nd most dominant in this list them um but we also see that it's the only 1 that actually has to do something with GIS
OK this had a few of committee said it and there exists no also
look at it up 5 so degree has quite a good and a group of the doctor falls to the containers and that you can run there also was on Monday at a session on this so check the online program that there's great instructions how to run degree using doctors the and so I'm not going to show this to do that today and that this is the whole Dr. file that they use and this already shows how easy it isn't a Republican built on top of what is out there and uh so what they do is they start from Tomcat inversion date and with the tolerant in the room and each of us have 7 they say when they are uh so in this case 1 of the rare cases where the original developers that provided a file and they said about an environment variable which they can use data and serve to but also override when you build the image they download them a war file and they put it in a certain location and they have basically run compare that so when you run executes conditional now an open port 80 80 going to see a degrees server and it basically takes you download time plus 2 seconds to have a running instance on your own computer if you don't believe that we can to some items where there was a time of evidence that they so
I'm I'm going to lay this out in within good so
sometimes just quickly during run going to run through a few of these
demos doesn't just like this that and said there's more in the slides and the size of the available online search for them so I'm going to try it out so let's seeing in so what do let's start with you got something that everybody relies on directly and the size of the operands vegetative what's left the next so I know already have the image shown so save the dollar time and this basically this means some information about the juice globalization but near the have you know more quite recent version that can just use their but have you commands behind this so I the entire time
here parameters of the possible and to evolve and then use that so if there's a new version of you don't have to install on your computer another cluttering your computer I downloaded and in the last 2 weeks I think a hundred gigabytes of Barbara images and I have not install this thing will still use of self that stuttering might but the post yet and this is also the whole posteriors proper follow the short distance from PostgreSQL and install and postures extension and that's it uh and so lifetime emitted from from is when problem of US so there's there's evidence of handling image we have the so so I'm going to give it a name a samples yes turn them into past environment variables which are also prosperous password for which I would say it's just a secret and going to run as a daemon process so going to it shown and using the ambulance that cost yes uh yes I have another container with that name something to remove that 1st around it and that's with Dr. yes I can use my containers In this case the capital then was just written up for a few seconds and what and you know I can that if you run in the port in the prosperous container of stock and run a posture kind of people but if teacher scale cells in the so structure on an interactive and iterative inductive version I linkage to some some posture give it in terms the mean posterior yeah so within this image so I can just through http and Collins that's there's false and that's the head interests of the applications I can remove it again environmental stress and then would destroy some Chris being where computers of with quicker says all
items are not going to show the
worsen 1st try it doesn't work in the 1st 5 Central and then next OK the best way secret and no and in this connected to the Internet at the right OK so there's a few more a shot of the 1 that 1 more than the thing that have 1 more rises WG a note to move OK so this is something that's more interesting I call DVD was ever tried to install part of the brain so it's really not
it doesn't really really horrible the and here with 1 command I can't created
this was 1st was rated to it is this because the container story about this it's not perfect at all in OK so that would be and I can go to and in this case there's more compelling to it so
that I can go through the overall proposed card so currently
this 2 that I think that that is
independent of the data and
that is so and then there is the best exercise that is just a of
a glimpse of or to come of examples what can do we can run a library you can run a complex application like already be
with tens of applications in the container I put everything on the most you check it out let me know what you think and and we're very very welcome to contribute to this list and so I think is important we need to and we can lower the entrance barrier for users and developers to sell software with containers and you have very easy transition from testing to production if you as a developer start using it and and test themselves with other communities I just 2 things working out here and that is we need to build up this knowledge about this helps with that and please please put your project on the on your under your name and stuff with the credibility of the original people who developed the software and yeah this will make our lives easier thank you if you but in
any what are your questions yes please
present at the beginning of this on the right in the middle this over there and there's form more in the back and so you might have a I have a question about using the posted you image this suppose if you wanted to use of both goods database and you need to use a 2nd and extends his post zeros and then another 1 so it is also possible to combine the 2 that the images the of the couple's 1st visit to different extents and you know what you could do is you to start your own you write your own but the fall and start from postures and into Europe this to your things it's busy just attaching a few more shell commands through once they were ready executed the do that or you start from past stress and and do that or you start from the Alpine and that's because it thinkable into is too bloated and you do everything itself but there's there you can extend the but I think 1 of the main problems with operators that as you announced that you showed a lot of examples and there's on the official all always dual part there is only 1 thing and did you know who is responsible for posting on the worker hump billfish lows you thing because I think all the those different container images from this person that person and another company that said you well the we see with darker images that they are usually of facial images from Ubuntu official images from so let's say Oracle Linux is something like this OK so there's there's 2 houses the latter here I don't know who was control of that account and the official images something that I have mentioned before so there's your fusion images that acts of have an extra area where Dr. actually talk to people from a to or from deviance saying these are the official David images that could be be interesting to do that um but I think that's that would be like a 3rd step after sort getting people to use and getting the user established and then we can put things on the on the USG label but I don't agree with you it would be great if people would have had a one-stop shop hi I actually discovered your account just recently because it didn't then search for it in the right way I think and so what I did was I a greater rip-off
of something called bio doctor which is a collection of profiles in the bioinformatics so as a replacement or not better replacement or as something that could help us with an I bought the main this culture containers so if you want
to check it out and maybe you can start something there under the label because not not everything to you as a was shield and so on this just everything of summed it up and contributions are welcome their stuff sold my pledges from up from knowledge to try when you image here for weak qualities of the of the year and see if we can come up with useful images so maybe it was you should try to loan build the structures that there's not a whole this confusing and maybe 1 of the committees that it was due has or maybe a new environment is needed should should take that into account yet so structures a great and until then as the wild west and this is a lot less wherever they can do what you want to be a last question I think this is in time for the cases of cancer later I'll be around for the other session thanks for coming
Loading...
Feedback

Timings

  746 ms - page object

Version

AV-Portal 3.9.1 (0da88e96ae8dbbf323d1005dc12c7aa41dfc5a31)