I am curious why one might choose the kartoza image (or some other one) over the official docker image. My org is just starting their journey down the docker rabbit hole and I’m trying to determine pros and cons of mainly the official image and the kartoza image for eventual deployment in production. I would love to hear any opinions or insights!
Welcome @mkf62 and thanks for joinin the user forum.
I do not feel very informed on the different docker images. We had a number of volunteers step forward to make an official docker image which is great.
My limited experience:
- I find it a very useful way to test nightly builds, to try our community modules such as ogcapi-features
- It does download extensions on startup (smaller image, but slower startup). I do not know the correct balance between having common extensions included or not …
Hello there,
- First difference is that since GeoServer images are part of the release process of GeoServer, they are immediately available when a new release is done. Whereas you have to wait some time for other images to have an updated image (but you can still build your own).
- Second difference you can find is about which JEE container is used: Kartoza and GeoServer images are based on Tomcat. On the other hand Camptocamp image is based on Jetty. Based on the technology you are the more comfortable with, it can help you to decide
- Third difference is the preinstalled extensions you have in the docker images. Kartoza and Camptocamp images are shipped with some extensions (the list is quite similar between them) whereas GeoServer image has no preinstalled extensions.
- The last difference I see is the customization capacity of the images only by changing environment variables or adding specific mounts. The Camptocamp one is quite simple on this side whereas Kartoza and GeoServer images are richer.
I hope it helps you a little on what to choose. I haven’t look at all the existing images (I know that Oscar Fonts is also publishing one for example).
Regards
Alexandre
PS : I am part of Camptocamp
Hi,
for personal usage and quick tests I use the official docker image. It’s quick and easy to try out a random combination of extensions on a particular GeoServer version, e.g.:
docker run -it -p8080:8080 \
--env INSTALL_EXTENSIONS=true \
--env STABLE_EXTENSIONS="css,wps" \
docker.osgeo.org/geoserver:2.27.x
As others have noticed, this image (and the Kartoza one) downloads extensions and community modules on startup.
For professional/production usage, we use the GeoSolutions docker image instead.
This image is based on a different approach: extensions and community modules are baked into the image at build time, this means deploys are not affected by network issues, are fast, and are repeatable even when using community modules (which are re-built every night, and no part of releases).
The downside is that one has to clone the repo, tweak it, and build the image for one specific purpose.
Cheers
Andrea
Hi Andrea,
I like your idea to take care of avoid downloading extensions at start time on production environment! I will keep it in mind for my future projects.
Alexandre