Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 12 Nächste Version anzeigen »

It is not always necessary to manually install the UM with the described installation method. In some cases it makes sense to run the UM in a docker container:

  • If you already have a dockerized application infrastructure

  • To develop CSE based applications in a local UM instance

Creating a customized docker image

To create your own custom UM docker image, install UM Kickstarter following Install Kickstarter, first.

Next, create a new project:

umkickstarter my-um-project
cd my-um-project

Next, copy your personal license file to env/devel/cmsbs-conf/cmsbs.license.

If you project does not have a Dockerfile, you can create it via:

gradle dockerize

You are now ready to create your custom UM docker image:

gradle dockerimage

Running a UM from a custom docker image

Start your dockerized UM:

docker run --rm --network host myproject:devel

Go to http://localhost:8080/cmsbs and login as admin / admin.

The default for Kickstarter based UM installations is to use an embedded H2 database that stores its data in /UM/cmsbs-work/db.h2.* inside the docker container’s volume. As this is fine for local development you probably want to use a ‘real’ database engine at some point in time.

Running a local ‘real’ database

There is quite a number of supported database engines to choose from (see Installation Requirements for a list of officially supported databases).

Select one of the database engines listed below and start an instance with the given docker run command.

Configure UM to use new database

Create a file env/devel/cmsbs-conf/conf.d/database.properties below your Kickstarter directory and paste the given UM configuration snippet according to the database chosen.

Create the directory cmsbs/WEB-INF/lib/ below your Kickstarter directory and add the following line to your build.gradle file:

pinuts.extraDist = [ 'cmsbs/WEB-INF/lib' ]

Download the appropriate JDBC driver and copy the JAR file to the directory cmsbs/WEB-INF/lib/ your just created.

Recreate and run docker image using the freshly created database:

gradle dockerimage

docker run --rm --network host myproject:devel

The UM instance running on http://localhost:8080/cmsbs should now populate and use the new database.

Docker images for popular database engines

The following represents a subset of the supported databases for which there are easy to use docker images available on docker hub:

Postgres 12.3

Run Postgres on localhost:5432:

docker run \
    -e POSTGRES_PASSWORD=mysecretpassword \
    -p 5432:5432 \
    --name postgres \
    postgres:12.3

UM configuration:

cmsbs.database.url      = "jdbc:postgresql://localhost:5432/"
cmsbs.database.user     = "postgres"
cmsbs.database.password = "mysecretpassword"

JDBC Driver: https://jdbc.postgresql.org/download.html

MySQL 8.0

Run MySQL on localhost:3306:

docker run \
    -e MYSQL_DATABASE=um -e MYSQL_ROOT_PASSWORD=secret \
    -p 3306:3306 \
    --name mysql \
    mysql:8.0 \
    --max-allowed-packet=256m

UM configuration:

cmsbs.database.url      = "jdbc:mysql://localhost:3306/um?allowPublicKeyRetrieval=true"
cmsbs.database.user     = "root"
cmsbs.database.password = "secret"
cmsbs.database.mysql.Unicode = true

JDBC Driver: https://dev.mysql.com/downloads/connector/j/

MariaDB 10

Run MariaDB on localhost:3306:

docker run \
    -e MYSQL_DATABASE=um -e MYSQL_USER=um -e MYSQL_PASSWORD=secret \
    -e MARIADB_RANDOM_ROOT_PASSWORD=true \
    -p 3306:3306 \
    --name mariadb \
    mariadb:10 \
    --max-allowed-packet=256m

UM configuration:

cmsbs.database.url      = "jdbc:mysql://localhost:3306/um?allowPublicKeyRetrieval=true"
cmsbs.database.user     = "um"
cmsbs.database.password = "secret"
cmsbs.database.mysql.Unicode = true

JDBC Driver: https://dev.mysql.com/downloads/connector/j/

MSSQL 2017

Run MSSQL on localhost:1433:

docker run \
    -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=S3cre7pw' -e 'MSSQL_PID=Express' \
    -p 1433:1433 \
    --name mssql2017 \
    mcr.microsoft.com/mssql/server:2017-latest-ubuntu

UM configuration:

cmsbs.database.url      = "jdbc:sqlserver://localhost:1433"
cmsbs.database.user     = "sa"
cmsbs.database.password = "S3cre7pw"
cmsbs.database.mssql.Unicode = true

JDBC Driver: https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15

Oracle 11g

Run Oracle on localhost:1521:

docker run \
    -p 1521:1521 \
    --name oracle-xe-11g \
    oracleinanutshell/oracle-xe-11g:latest

UM configuration:

cmsbs.database.url      = "jdbc:oracle:thin:@localhost:1521:xe"
cmsbs.database.user     = "system"
cmsbs.database.password = "oracle"

JDBC Driver: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html (Oracle account required!)

DB2 11

Run DB2 on localhost:50000:

docker run \
    -e LICENSE=accept -e DB2INST1_PASSWORD=secret -e DBNAME=um \
    -p 50000:50000 \
    --privileged --ipc=host  \
    --name db2 \
    ibmcom/db2:11.5.7.0

UM configuration:

cmsbs.database.url      = "jdbc:db2://localhost:50000/um"
cmsbs.database.user     = "db2inst1"
cmsbs.database.password = "secret"

JDBC Driver:

  • Keine Stichwörter