Skip to content
This repository provides Dockerfiles for building an IBM Domino server image for Docker with latest fixes
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dockerfiles
documentation
examples
management further changes to prepare Domino binary directory location move Jul 21, 2019
software
start_script
.gitignore
CONTRIBUTING.md
LICENSE
README.md
build.sh
check_software.sh
sample_build_config

README.md

Domino Docker

This project contains build scripts for Docker images (Dockerfiles) and Docker related utilities for IBM Domino. There are separate folders within this repository that contain build scripts for IBM. This repository provides an IBM Domino Server with the latest fixes.

Main idea is to download and apply all required fixes/patches/updates from a software repository server instead of adding the source installation files to the image directly. For this reason this repo will start a temporary local nginx server at build time to act as a software repository server.

How to build the image(s)

To build the latest available image

  1. Download the required software packages to the 'software' directory
  2. From the root folder of this repository issue the following command
./build domino

The process will perform all required actions to create the image in the version requested. Usually it takes less than 5 minutes to build the image.

Other options available:

  • build domino-ce - Domino Server Community Edition
  • build traveler - Traveler on Domino

How to use this image

When a new container is created from the IBM Domino Docker image, it takes environment variables into account for auto-configuring the Domino server. Details on how to use those variables can be found here

  • Domino Data directory needs to be a persistent volume.

Management Script

The folder Management contains a script that simplifies the management of containers. The script is supposed to run on the docker host.

For details see the documentation of the Management Script

Manually creating a new container from an image

First create a new/empty persistent volume that will be used as the Domino Data directory later on. In this example we are calling it "dominodata_demo1".

docker volume create dominodata_demo1

Then run a new Domino server with the configuration details of your choice. Make sure to specify the base image name at the very end of this command

docker run -it -e "ServerName=Server1" \
    -e "OrganizationName=MyOrg" \
    -e "AdminFirstName=Thomas" \
    -e "AdminLastName=Hampel" \
    -e "AdminPassword=passw0rd" \
    -h wien.demo.com \
    -p 80:80 \
    -p 1352:1352 \
    -v dominodata_demo1:/local/notesdata \
    --name server1 \
    ibmcom/domino:10.0.1FP2

Runtime configuration

During docker run you can setup a volume that mounts property files into /local/notesdata

Stopping the Application Server gracefully

Stopping a Domino server takes longer than the time a Docker server would expect by default, so it is recommended to specify the timeout parameter when stopping a container.

docker stop --time=<timeout> <container-name>

Example:

docker stop --time=60 test

Issues

For issues relating specifically to the Dockerfiles and scripts, please use the GitHub issue tracker

Contributing

We welcome contributions following our guidelines.

Community Support

Special Thanks go to the following people for having provided valuable input to this project

License

The Dockerfiles and associated scripts are licensed under the Apache License 2.0.

License for the products that can be installed within the images is as follows:

With some modifications the following base images can be built:

  • IBM Domino Utility Server
  • IBM Domino Collaboration Express
  • IBM Domino Messaging Express

Note that the IBM Domino is commercial software - the software licenses agreement does not permit further distribution of the docker image that was built using this script.

You can’t perform that action at this time.