Like any InterSystems IRIS instance, an instance running in a container requires a license key (typically called iris.key
). For general information about InterSystems IRIS license keys, see the “Managing InterSystems IRIS Licensing
” chapter of the System Administration Guide
The InterSystems IRIS Community Edition image available from the Docker Store (as described in the previous section) comes with a special free temporary license. Generally, however, license keys are not, and cannot be, included in an InterSystems IRIS container image. Instead, you must stage a license key in a storage location accessible to the container, typically a mounted volume, and provide some mechanism for copying it into the container, where it can be activated for the InterSystems IRIS instance running there.
The iris-main program, which runs as the blocking entrypoint application of an InterSystems IRIS container, provides two options for handling the license key that can be used in a docker start or docker run command starting an InterSystems IRIS container, as follows:
The --key option copies the license key from the location you specify to the mgr/ directory of the InterSystems IRIS instance, which means that it is automatically activated when the instance starts. The license key must not be located on the local file system inside the container; typically, it is on a storage location mounted as a volume by the container with the --volume option of the docker run command.
This option is most useful when you are dealing with a single InterSystems IRIS container and a single license key. The syntax of the option is as follows:
where key_path is the path to the license key from within the container. For example, if you mount as /external an external storage location that includes a license key in a directory called license/, the --key option would look like this:
The --license-config option lets you do the following:
The syntax of the option is as follows:
--license-config "<licenseID> <host1>,<port1>,[<directory1>] [<host2>,<port2>,<directory2>]
where the arguments are as follows:
The value of the LicenseID field in the license key to be served to the instance in the current container. This field is found in the [ConfigFile] section, for example:
FileType=InterSystems License Rev-A.1
The hostname and port of the configured license server. If these arguments specify the instance in the container, that instance is configured as a license server; if not, theu specify another instance that is already configurad as a license server. The default InterSystems IRIS license server port is 4002.
If the host1,port1 arguments specify the instance in the current container to be configured as a license server, identifies the staging location in which the license keys it is to serve are located. This directory must not be on the local file system inside the container; typically, it is on a storage location mounted as a volume by the container with the --volume option of the docker run command. If the host1,port1 arguments do not specify the instance in the current container as the license server, but instead identify another instance, this argument is ignored.
If the host1,port1 arguments specify the instance in the current container to be configured as a license server and that instance is a failover member in a mirror, these arguments specify the other failover instance to be configured as a license server and identifis the staging area for the licenses it is to serve. The contents of directory1 and directory2 must be the same; the simplest way to effect this is to place the license directory on a storage volume mounted by both containers. If the instance specified by the host1,port1 arguments is not a mirror member, these arguments are ignored.
Content Date/Time: 2019-09-19 06:44:28