Docker Containers
Container technology empowers you to pull up reproducible, documented and complete isolated infrastructures. Axon.ivy fully supports container environments such as Docker, Kubernetes or OpenShift. You can easily customize the configuration of an Axon.ivy engine by using system environment variables or by providing configuration files like the ivy.yaml file.
The following example will override the url of the system database configuration using environment variables:
docker run -e "IVY_SYSTEMDB_URL=jdbc:mysql://db:3306/AxonIvySystemDatabase" ...
Instead of using environment variables, you can simply provide an ivy.yaml file.
1# ivy.yaml
2SystemDb:
3 Url: jdbc:mysql://db:3306/AxonIvySystemDatabase
And let’s run the container with this configuration
docker run -v $(pwd)/ivy.yaml:/etc/axonivy-engine/ivy.yaml ...
Tip
On Windows use %cd%/ivy.yaml
instead of $(pwd)/ivy.yaml
For further docker examples have a look at our docker-samples GitHub repository.
Licence
You can provide the licence either by:
Packaging it as part of your docker image in the
configuration
folder:ADD licence.lic /etc/axonivy-engine/licence.lic
Mapping it into the
configuration
folder:docker run -v $(pwd)/licence.lic:/etc/axonivy-engine/licence.lic ...
Provide it as environment variable
IVY_LICENCE
:Linux:
export IVY_LICENCE=$(cat <licence.lic>) docker run -e IVY_LICENCE=$IVY_LICENCE ...
Windows Powershell:
set IVY_LICENCE=[string](Get-Content -Path <licence.lic> -raw) docker run -e IVY_LICENCE=$IVY_LICENCE ...
Mapping it as docker secret into file
/run/secrets/ivy.Licence
Secrets
You can use Docker Secrets to store passwords. Simply create a file in
/run/secrets
which has the same name as the configuration entry. For
example, to provide SystemDb:Password
as secret file you need to create
the file /run/secrets/ivy.SystemDb.Password