Skip to content

About

Dockerfile for Mimer SQL version 11

Resources

Stars

1 star

Watchers

2 watching

Forks

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mimer SQL version 11.0

This is a Docker build of Mimer SQL version 11.0. It includes a two-user evaluation license, identical to the one provided with all our downloads (see https://developer.mimer.com/products/downloads/ ).

By downloading Mimer SQL for Linux, you can obtain a less restricted evaluation license, which can be installed by following the instructions below.

Running Mimer

Run the container with

docker run -p 1360:1360 -d mimersql/mimersql_v11.0:latest or use a specic tag, for example the v11.0.9g release: docker run -p 1360:1360 -d mimersql/mimersql_v11.0:v11.0.9g

This launches a Mimer SQL database server that is accessible on port 1360, the standard port for Mimer SQL. To show the ouput, for example generated passwords, run docker logs <id> with the id returned from docker run. It's also possible to find the id with docker ps. Alternatively, run docker logs $(docker ps -q --filter ancestor=mimersql/mimersql_v11.0:latest)

The default name of the created database is "mimerdb" and it can be customized with -e MIMER_DATABASE=<database name>

A SYSADM password can be specified with -e MIMER_SYSADM_PASSWORD=<password>. If not, a new password is generated and printed. Remember this password, it cannot be recovered.

From Mimer SQL 11.1, the superuser is no longer required to be named SYSADM and can be set with -e MIMER_SUPERUSER=<name>. If not specified it defaults to SYSADM. This has no effect on 11.0 images, where the superuser is always SYSADM.

A Mimer SQL license can be specified with -e MIMER_KEY=<Hex key value>. If a persistent storage is used the Mimer SQL license is saved in the Mimer data directory, MIMER_DATA_DIR (see below), for future use, i.e when the container is started again. An alternative way is to copy your Mimer SQL license file directly to MIMER_DATA_DIR/my_mimerkey.mcfg. To use a node locked license the hostname of the Docker container needs to be specified to match the node in the license. This is done with docker run --hostname mynodename ....

It's also possible to run the Mimer SQL container using Podman instead of Docker. The commands are the same except the --filter option that have to include "docker.io", for example podman logs $(podman ps -q --filter ancestor=docker.io/mimersql/mimersql_v11.0:latest)

Configuration of the Mimer SQL database

It's possible to configure the Mimer SQL database, for example how much memory it will use and what TCP port to use with Docker environment variables. To configure the TCP Port for example, use -e MIMER_TCP_PORT=<port number> when starting the container. The following environment variables with the corresponding Mimer SQL multidefs configuration parameter are available:

  • MIMER_TCP_PORT: TCPPort
  • MIMER_MAX_DBFILES: Databanks
  • MIMER_MAX_USERS: Users
  • MIMER_MAX_TABLES: Tables
  • MIMER_MAX_TRANS: ActTrans
  • MIMER_PAGES_4K: Pages4K
  • MIMER_PAGES_32K: Pages32K
  • MIMER_PAGES_32K: Pages128K
  • MIMER_REQUEST_THREADS: RequestThreads
  • MIMER_BACKGROUND_THREADS: BackgroundThreads
  • MIMER_TC_FLUSH_THREADS: TcFlushThreads
  • MIMER_BG_PRIORITY: BackgroundPriority
  • MIMER_INIT_SQLPOOL: SQLPool
  • MIMER_MAX_SQLPOOL: MaxSQLPool
  • MIMER_DELAYED_COMMIT: DelayedCommit
  • MIMER_DELAYED_COMMIT_TIMEOUT: DelayedCommitTimeout
  • MIMER_GROUP_COMMIT_TIMEOUT: GroupCommitTimeout
  • MIMER_NETWORK_ENCRYPTION: NetworkEncryption

See the Mimer SQL documenation for information about the different multidefs configuration parameters.

Connecting to the database

Access Mimer using for instance DBVisualizer (https://www.dbvis.com) which comes with a JDBC driver and support for Mimer. With the example above is the host "localhost" and the port 1360. Login as "SYSADM", password "SYSADM".

The JDBC connection string would then be jdbc:mimer://localhost:1360/mimerdb

Saving data between containers

Since the container is a separate entity, the above solution will lose all data when the container is killed.

There are several solutions to this but the easiest is to use ´bind mounts´ where a directory on the host system is bound to the container's MIMER_DATA_DIR, thus causing all file writes to happen in the host file system which is persistent. This is commonly used for testing.

An alternative solutin is to use Docker volumes. This way the storage is managed by Docker. Just as with bind mounts the MIMER_DATA_DIR is mapped to the volume.

The default MIMER_DATA_DIR in the container is /data. This can be changed with the environment variable MIMER_DATA_DIR. This is where the database, license files and configurations are stored. Everything is stored in the database home directory located in MIMER_DATA_DIR, by default "mimerdb".

Using bind mounts

To use bind mounts, create a directory on the host that will act as the MIMER_DATA_DIR. When the directoy is created, mount it when starting the container:

docker run -v /my_data:/data -p 1360:1360 -d mimersql/mimersql_v11.0:latest

The Mimer SQL database and it's configuration will now be stored in /my_data/mimerdb on the host.

Using Docker volumes

To use Docker volumes, create the volume using docker volume create, for example: docker volume create mimer_data

When starting the container, map the volume to the container:

docker run -v mimer_data:/data -p 1360:1360 -d mimersql/mimersql_v11.0:latest or docker run --mount source=mimer_data, target=/data -p 1360:1360 -d mimersql/mimersql_v11.0:latest

The Mimer SQL database and it's configuration will now be stored in the Docker volume.

About

Dockerfile for Mimer SQL version 11

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages