Geographica just released a new version of its PostGIS Docker: Breezy Badger, based on the new PostgreSQL, 9.6. It has inherit all the features of the previous one but with much more functionalities extra. Find out what can it do for you.
From Geographica, we are glad to announce that the release of a new version of our PostGIS Docker based on PostgreSQL.
However, for those that are not familiarised with these topics, we will start by explaining what is actually Docker and how can benefits you:
What Is Docker?
The Docker concept may be quite hard to understand at first. Often, it is mistakenly taken for a technology of machine virtualization as VirtualBox or VmWare. Even though its functionality have be overused and can work as this, it is not the main use.
Docker actually works on a subtler and more elegant way by creating in a machine an environment for running controlled and isolated Linux processes, instead of virtualizing a heavy, full-fledge machine with a complete operating system.
What is Docker used for?
Applications and implications are countless, in fact we can state without doubt that Docker has changed the way we develop and administer systems forever.
Docker allows, in a compact, reusable, and highly reproducible way, to pack a software system to work on an isolated way from the host system. Therefore, it can’t create conflicts with already installed software or mismatch versions. That means that every single project can be developed on clearly and precise specifications regarding libraries and versions, as well as the way they relate and interact with one another, and all along the whole development process: code, testing, and deployment.
As an initial stepping stone in a project, the team starts by defining and building a Docker infrastructure composed of one or more images (the base concept Docker builds its system upon) that contains the required software. This images are available for the whole team, that creates containers from them (containers are running images aimed and configured for a given project or purpose).
This containers are linked together, working as if they were sharing a real host, providing a cohesive and customized software stack for the project.
The main aspect of Docker regarding development processes is that the whole team is using exactly the same software infrastructure and in the same way, all along the way from coders to SysAdmins, and that this infrastructure can be set up in minutes.
SysAdmins don’t need to bother any longer with installing new software on servers, nor worrying about version clashing and similar problems. They just install the project’s Docker images and create and configure containers.
The images used in development are the same that are used in deployment. New version testing and upgrades are easy to test and fast to deploy, too. Migration over hosts is quick and easy with dockerized applications. Indeed, Docker has changed the way we work in a very nice way.
At Geographica we are huge fans of Docker from the very beginning. “I’m going to dockerize my dog” was a recurring joke in those days that we spent a great deal of time dockerizing all our favourites applications and libraries.
We use Docker containers for everything: databases (PostGIS, Mongo), web servers (nginx), geographic information servers (GeoNetwork, GeoServer), dev environments… even heavy GUI applications like the Geographic Information Systems QGIS or GRASS. We don’t install almost any software natively on our hosts, we just take the relevant Docker image and roll out any container we need.
By sharing the same images, we are 100% sure that what works for any member of the team will work for the rest, even in a multiplatform environemnt: Linux, Mac, and even recently, Windows.
Breezy Badger: Our new PostGIS Docker version
As we mention at the beginning of this article, Geographica has just released a new version of its PostGIS Docker image, Breezy Badger, based on the new version of PostgreSQL, 9.6.
This version inherits all the capabilities of the last one, Awkward Aardvark (based on PostgreSQL 9.5.3), contenerizing the new PostgreSQL 9.6 along PostGIS 2.3.0, GDAL 2.1.1, Proj 4.9.3, and GEOS 3.5.0. As in Aardvark, an impressive array of functionality is also supported:
- script to easily use the image as a psql client;
- execution of psql scripts at container creation time;
- host user mapping;
- easily backup of databases inside the container;
- restore backups at container creation time;
- all relevant libraries are patched to perform datum shiftings between ED50 and ETRS89 using the grid published by the Spanish National Geographic Institute for the Iberian Peninsula, yielding ultra-precise transformations;
- flexible configuration of the PostgreSQL server at container creation time.
All this traits makes it really powerful for development as well as production environments.
Breezy Badger is already available in DockerHub and Github, What are you waiting for trying it ? We are sure it will be useful for you and we would love to know your opinions and comments about it.
See you next week!