docker pull evolveum/midpoint
Start of the midPoint environment
This page contains information about starting the containerized midPoint based on available docker image.
Prerequisites
To be able to provide the "copy-paste" samples we are referencing the docker application. The same result could be reached with other compatible applications, but it is out of the scope of this docs page to cover all the options related to the common application environment. |
-
docker
In order to start container based on the provided image the docker application has to be available. -
docker-compose
To have "full feature" environment of the midPoint the docker-compose feature has to be present. Without it the container can be started, but there is no way how to describe all the environment (e.g. for native repository the postgresql is needed).
With the recent version of the docker the build in feature could be used - docker compose -
available TCP ports
Even the containers' network could work without port forwarding it is much more comfortable to set port forward and use localhost address. In case the ports are in use the relevant configuration change has to be applied.-
8080 : "main" web access - usually used for midPoint web GUI
-
5432 : default postgreSQL database
-
Getting started
In order to make the small steps we can start with (so far working) H2 based generic repository. Even this repository is deprecated since midPoint version 4.4, it is still working. To see that the application can start it is more than enough…
Once we will have working container with generic repository we will be ready to step further to the "full feature" native repository.
download the image
This is optional step. Once we will start the container the docker will automatically try to download the image in case it is not available. With the explicit download of the image we will cache it in local repository for the future use.
Use case could be planned travelling with the limited access to the internet. Once the image is cached it could be used locally. |
docker pull evolveum/midpoint:4.8-alpine
Build the image
For the most of the situations you will not need to build own image. |
All the necessary metadata needed for the container are available in midpoint-docker git repository. It doesn’t contain the OS image, packages or the midPoint distribution. These objects will be downloaded separately.
git clone https://github.com/Evolveum/midpoint-docker.git
cd midpoint-docker
-
prepared build script
There is available build script - build.sh. The basic "setting" (e.g. base image /OS/, required tag /version/) is available in the file common.bash. At this moment the default image is based on Ubuntu 22.04.
In case you are OK with this "default" setting you can simply run:
./build.sh
-
docker build
In case you prefer calling directly docker with command build the Dockerfile with default ARG values is available. In that case you can build the image with following command :
docker build --network host -tag evolveum/midpoint:custom .
Run the image
The container can be run without port forwarding - no populated port. In that case it will technically work, but you have to know additionally the setting of the containers' network. As this is not very user friendly usage the port forwarding help us to populate the port on localhost. To reach the container / application you just need to know the port used in the command to run the container. |
Let’s run the image on localhost port 8080. The syntax of populated port is -p <public_port>:<port on container>. The public port in this context is port used in URL with address localhost.
docker run -p 8080:8080 evolveum/midpoint
URL | username | password |
---|---|---|
administartor |
5ecr3t |
In case we need other tag of image or simply different port (e.g. port is already in use) we should add this information to the command.
docker run -p 8081:8080 evolveum/midpoint:4.8-alpine
URL | username | password |
---|---|---|
administartor |
5ecr3t |