This blog presents the questions from the September OpenNTF webinar on Domino on Docker (and free alternatives) and their answers from our speaker, Martin de Jong. Thanks for all the great questions!


To begin, here is the links to the support page where you can download the slides and watch the video.


Q is there any perfomance increase/decrease with large data using JAX-RS vs standard REST to produce json?
A I haven’t noticed, but I also haven’t done head-to-head performance comparisons. In practice, I’ve found performance to be very good, and you can deal with memory footprint in very large cases by using StreamingOutput in JAX-RS.
Q With the EOL for CentOS what other Linux build would you recommend in place of CentOS?
A Personally I would go for a Red Hat Enterprise Linux 8 derivative. CentOS 7 will be EOL in June 2024. The traditional CentOS 8 is already EOL. CentOS 8 Stream however is still supported till 2027 as are the RHEL 8 derivatives that replaced the traditional CentOS: AlmaLinux and Rocky Linux. CentOS 8 Stream is the point-release ahead of RHEL 8, so where RHEL is currently at version 8.6, CentOS 8 Stream is containing packages which will be in RHEL 8.7. In my experience it’s a very stable platform for Domino. Depending on the client I switch between CentOS 8 Stream and AlmaLinux. For clients that already have RHEL 8 in their IT landscape, I would recommend to use RHEL 8.
Q What are the plans to test or support ubi9 ?
A Ubi9 was tested as a base OS for Domino containers and is working fine. When Domino 12.0.2 is released, ubi9 is one of the possible candidates for HCL to use for their docker images. An extensive list of tested and supported images for the Domino container community image can be found here: Link to tested and supported images
Q Do you update the underlaying linux inside the container or rebuild the container instead?
A Using the custom build option, you can easily incorporate the latest Linux updates in the image. If you do this, make sure you use the same base image every time and not the image in which you incorporated the previous Linux updates. Layers of an image are read only, which means that files will never be deleted from an existing layer. An upper layer can therefore only contain a marker to make a file in a lower layer invisible for the container. Therefore if you would add Linux updates on top of each other, your image is bound to grow in size. Personally, I’m not a fan of stacking Linux updates on top of an existing Domino image. My suggestion would be to script the build of the Domino image and simply create new images unattended at designated times incorporating the latest Linux updates.
Q How can I migrate partitioned Domino Servers?
A The container script works from the assumption that there will be one Domino server (in a container) per host. Partitioned servers as Domino containers would therefore have to be split over multiple VMs. Another option would be to use Kubernetes (k8s) or Rancher (k3s), which would allow for multiple Domino servers on the same piece of hardware. That’s only advisable for shops that are already familiar with these technologies.
Q Is ODA an actual requirement to install and run XPages Jakarta EE?
A No. This project doesn’t use ODA, though it’s compatible with it if you choose to use it.
Q Can I run the container at Windows?
A Containers are Linux only. You can run them on Windows using Windows Subsystem for Linux (WSL). The scripts do check whether the container runs on WSL to allow for proper starting and stopping. I would like to stress though that Domino containers on Windows are not an option for production use.
Q We set up separate folders in our environment for ""FT Indexes"", View Indexes, DAOS and Transaction Log. Is this a good practice in container environments?
A I’m a big fan of standardization. Daniel Nashed has created some sort of standard for Domino servers on Linux through his start/stop scripts which include a Domino install script which also prepares the operating system for Domino. This standard includes the following directories:
  • /local/notesdata
  • /local/daos
  • /local/ft
  • /local/nif
  • /local/translog

By default these same directories are used within the Domino container. So as you can see these are separate folders already. If you want, you could make these separate partitions on the host. For the container this makes no difference. Also, the paths are part of the notes.ini, so you can still choose to have your own paths. You can also stick to the standard paths, but assign separate persistent volumes to these paths in the domino container config (dominoctl cfg), like in:

CONTAINER_VOLUMES=”-v :/local/notesdata:z -v
:/local/translog:z -v :/local/daos:z” etc.

As explained during my presentation :z is to relabel the files on the host to tell SELinux that this path on the host may be used by the container. It’s therefore only relevant if you use SELinux on your host. To summarise, Domino containers don’t limit you in your folder layout for Domino. You can choose to have the exact same layout as you would have on a native Domino on Linux server.

Answers by Martin de Jong. Edited by Howard Greenberg.





comments powered byDisqus