Building Docker Containers for PDAL
PDAL’s repository is linked to DockerHub for automatic building of Docker containers. PDAL keeps three Docker containers current.
pdal/ubuntu-dependencies:latest– PDAL’s dependencies
pdal/pdal:latest– PDAL master
pdal/pdal:1.5– PDAL maintenance branch
Containers are built upon the Dependencies container, but the
Dependencies container is not pinned to specific Bionic or PDAL release
times. It corresponds to where ever the
dependencies tag of the PDAL
source tree at https://github.com/PDAL/PDAL resides
The PDAL dependencies Docker container is used by both the latest and release branch Docker containers. The dependencies container is also used during Continuous Integration testing by Travis. It is built using the Dockerfile at https://github.com/PDAL/PDAL/blob/master/scripts/docker/ubuntu/dependencies/Dockerfile
pdal/dependencies:latest image is regenerated by force-pushing a tag of
the SHA you wish to use to have DockerHub build.
git tag -f dependencies git push origin refs/tags/dependencies -f
The dependencies container is currently built upon Ubuntu Bionic. When the next Ubuntu LTS is released, the PDAL project will likely move to it.
A PDAL container corresponding to the last major release is automatically
created and maintained with every commit to the active release branch. For
1.4-maintenance branch will have a corresponding
pdal/pdal:1.4 container made with every commit on DockerHub. Users are
encouraged to use these containers for testing, bug confirmation, and deployment
Latest (or master)
A PDAL container corresponding to a developer-selected release point is made
pdal/pdal:latest and corresponds to the manual push of a
docker-master tag by PDAL developers. This container is typically used for
testing and verification of fixes, and it is recommended that users looking to
depend on PDAL’s Docker containers always use known release versions off of the
last stable release branch.
You should be using the Maintenance Docker container for any production-oriented operations. Only use the latest one to test or prototype a latest, unreleased feature.
$ git tag -f docker-master $ git push origin refs/tags/docker-master -f