Deployment Manual / Version 2406.0
Table Of ContentsTo run the tools, you can either:
Start the
management-tools
container in interactive mode and run the tools from within. This approach has the advantage, that it provides a familiar user experience as if the tool is installed locally.Start a tool from the
management-tools
container directly, using the tool as the command argument and remove the container when the tool finishes. This approach has the advantage, that it can be used in the context of a script as it requires no interaction.
Regardless of the approach, you need to keep in mind the following common issues with containers:
In case you need to read from or write to files on your host, you need to mount volumes or create a bind mount.
You can mount a file system path to a docker container by using the
--volume <local-path>:<container-path>
command-line option.In case the containers are placed within a user-defined network, you need to add the container to that network to access the servers you want to connect. This network configuration depends on the network plugins being used. For the localhost
docker compose
development setup, this network is namedbackend
and prefixed with either the value of theCOMPOSE_PROJECT
environment variable or the name of the directory, where the compose files lies. In the development setup this will becompose
but you can find out what networks are available, by running:docker network list NETWORK ID NAME DRIVER SCOPE 181f1af50e6e bridge bridge local 2788cdf4bd7a compose_backend bridge local 3227b513840e compose_web bridge local 494f6bdaafa8 host host local 3d8b08335372 none null local
The network, where all services are put in
The network, where all services with Traefik ingress are put in
You can attach the docker container to a network using the
--network <network name>
command-line option.In case you need to adjust logging for debugging purposes, you can tune the tools' message log level and pattern with
stdout.log.level
andstdout.log.pattern
asdocker run
options. Example:-e stdout.log.pattern="%d{yyyy-MM-dd HH:mm:ss} %-7([%level]) %logger - %message%n%xEx{5}" -e stdout.log.level=DEBUG
Per default, all log output is printed to the Docker console and root logger level is set to ERROR. Should you need to change that, for specific log levels or output to a file, you can overwrite the default logback configuration file. Make a copy of
global/management-tools/management-tools-image/src/main/image/coremedia/tools/properties/corem/tools-logback.xml
as a starting point and mount it with thisdocker run
option (see also Section 2.4.2.1, “Mount Configuration Files”):--volume $PWD/tools-logback.xml:/coremedia/tools/properties/corem/tools-logback.xml
Remember to use an external volume (see above) when writing log output to a file.