Step by step installation of a Domino server
on Docker
Roberto Boccadoro
ELD Engineering
We will use CentOS as base OS.
The repository
Go to https://github.com/klehmann/domino-docker-setup
We will use this instead of the IBM repository because it will not need to
use a NGINX server but rather will add the source installation files to the
image directly.
Click on «Clone or download» and select Download ZIP
Expand the zip file in a directory of your choice
It contains the following files
Go in domino1001/resources/domino_installer
Copy there the installation file for Domino 10.0.1 on Linux, it must be
named DOM_SVR_V10.0.1_64_BIT_Lnx.tar
Create Docker image for Domino 10.0.1
Go back to directory domino1001 and run
docker build -t klehmann/domino:10.0.1 .
Be careful to add the period at the end.
Go in the directory ../domino-docker-setup-
master/domino1001_scriptsupport
Create Docker image for Domino 10.0.1 with
scripted setup support
Run
docker build -t klehmann/domino_scriptsupport:10.0.1 .
This image is based on the image previously created
Create a new Domino 10.0.1 server instance
Create data volume for Domino data
The volume will contain the Domino data directory and is mounted at
/local/notesdata.
docker volume create domino10_rob
Setup organization/server name and credentials
Edit file "env.list" and enter your server's organisation name, server name, Domino domain name, admin user data and passwords.
ORGANISATION=MyOrg
SERVERNAME=MyServer1
SERVER_IDPWD=
CERTIFIER_IDPWD=cert123
ADMIN_FIRSTNAME=Administrator
ADMIN_LASTNAME=MyOrg
ADMIN_IDPWD=adm1n123
DOMINODOMAIN=MyOrg
DOMINOHOSTNAME=localhost
SERVER_IDPWD is optional, but recommended. DOMINOHOSTNAME should be a full qualified hostname.
Run first time server setup to create ID files and
setup data directory
This initializes environment variables from "env.list", mounts the
previously created data volume at /local/notesdata and runs the Docker
container.
docker run --rm --interactive --tty --env-file ./env.list –v
domino10_rob:/local/notesdata klehmann/domino_scriptsupport:10.0.1
The command runs the scripted Domino server setup. The setup initializes
the data directory and creates id files with the specified names and
passwords.
Extract created ID files
Next we create a new local directory "ids" and copy the created
cert/server/admin ID files from the data volume.
mkdir -p ids && docker run --rm -v domino10_rob:/local/notesdata -v
"$PWD":/local/notesdata_out busybox cp -f
/local/notesdata/{cert.id,server.id,admin.id} /local/notesdata_out/ids
Backup these files and use them to set up your Notes Client
Run Domino 10.0.1 server instance
Run Docker container with mounted data and published network ports
and assign a name, e.g. "domino1001_abc":
docker run -p 1352:1352 -p 80:80 -p 443:443 -p 25:25 --name
domino1001_abc -v domino10_rob:/local/notesdata
klehmann/domino_scriptsupport:10.0.1
Access Domino server console in running instance
Start a bash on the new running container:
docker exec -it domino1001_abc bash
Use the live console option of Daniel Nashed's start script:
/etc/init.d/rc_domino live
Type "close" to leave the live console and "exit" to exit bash.
Stop Domino 10.0.1 docker container
To stop the running container, it is important to set the timeout value,
because the default of 10 seconds between stopping and killing the
container is too short for Domino:
docker stop --time=60 domino1001_abc
Start Domino 10.0.1 docker container
Use this command to start the now named Domino server container:
docker start domino1001_abc

Step by step installation domino on docker

  • 1.
    Step by stepinstallation of a Domino server on Docker Roberto Boccadoro ELD Engineering
  • 2.
    We will useCentOS as base OS.
  • 3.
    The repository Go tohttps://github.com/klehmann/domino-docker-setup We will use this instead of the IBM repository because it will not need to use a NGINX server but rather will add the source installation files to the image directly.
  • 4.
    Click on «Cloneor download» and select Download ZIP
  • 5.
    Expand the zipfile in a directory of your choice It contains the following files
  • 6.
    Go in domino1001/resources/domino_installer Copythere the installation file for Domino 10.0.1 on Linux, it must be named DOM_SVR_V10.0.1_64_BIT_Lnx.tar
  • 7.
    Create Docker imagefor Domino 10.0.1 Go back to directory domino1001 and run docker build -t klehmann/domino:10.0.1 . Be careful to add the period at the end.
  • 8.
    Go in thedirectory ../domino-docker-setup- master/domino1001_scriptsupport
  • 9.
    Create Docker imagefor Domino 10.0.1 with scripted setup support Run docker build -t klehmann/domino_scriptsupport:10.0.1 . This image is based on the image previously created
  • 10.
    Create a newDomino 10.0.1 server instance
  • 11.
    Create data volumefor Domino data The volume will contain the Domino data directory and is mounted at /local/notesdata. docker volume create domino10_rob
  • 12.
    Setup organization/server nameand credentials Edit file "env.list" and enter your server's organisation name, server name, Domino domain name, admin user data and passwords. ORGANISATION=MyOrg SERVERNAME=MyServer1 SERVER_IDPWD= CERTIFIER_IDPWD=cert123 ADMIN_FIRSTNAME=Administrator ADMIN_LASTNAME=MyOrg ADMIN_IDPWD=adm1n123 DOMINODOMAIN=MyOrg DOMINOHOSTNAME=localhost SERVER_IDPWD is optional, but recommended. DOMINOHOSTNAME should be a full qualified hostname.
  • 13.
    Run first timeserver setup to create ID files and setup data directory This initializes environment variables from "env.list", mounts the previously created data volume at /local/notesdata and runs the Docker container. docker run --rm --interactive --tty --env-file ./env.list –v domino10_rob:/local/notesdata klehmann/domino_scriptsupport:10.0.1 The command runs the scripted Domino server setup. The setup initializes the data directory and creates id files with the specified names and passwords.
  • 14.
    Extract created IDfiles Next we create a new local directory "ids" and copy the created cert/server/admin ID files from the data volume. mkdir -p ids && docker run --rm -v domino10_rob:/local/notesdata -v "$PWD":/local/notesdata_out busybox cp -f /local/notesdata/{cert.id,server.id,admin.id} /local/notesdata_out/ids Backup these files and use them to set up your Notes Client
  • 15.
    Run Domino 10.0.1server instance Run Docker container with mounted data and published network ports and assign a name, e.g. "domino1001_abc": docker run -p 1352:1352 -p 80:80 -p 443:443 -p 25:25 --name domino1001_abc -v domino10_rob:/local/notesdata klehmann/domino_scriptsupport:10.0.1
  • 16.
    Access Domino serverconsole in running instance Start a bash on the new running container: docker exec -it domino1001_abc bash Use the live console option of Daniel Nashed's start script: /etc/init.d/rc_domino live Type "close" to leave the live console and "exit" to exit bash.
  • 17.
    Stop Domino 10.0.1docker container To stop the running container, it is important to set the timeout value, because the default of 10 seconds between stopping and killing the container is too short for Domino: docker stop --time=60 domino1001_abc
  • 18.
    Start Domino 10.0.1docker container Use this command to start the now named Domino server container: docker start domino1001_abc