Docker

From Univention Wiki

Jump to: navigation, search
Produktlogo UCS kurz.png Version 4.0

Docker with UCS

Docker is an open-source project that automates the deployment of applications inside software containers.

Installation

docker is part of UCS since UCS 4.0-2. It can be installed with the following command

univention-install docker.io

After that, docker is ready to use:

~# docker -v
Docker version 1.3.2, build 39fa2fa

Using UCS docker images

Univention provides several docker images: https://registry.hub.docker.com/u/univention/.

Setup a generic UCS system via docker

A generic UCS docker image can be downloaded by the following command

docker pull univention/ucs-generic-amd64:4.0-1

Then, a new UCS docker container can be started in the following way

docker run -d -e rootpwd=univention --hostname=dockertest \
   --name=dockertest_container \
    -p 8011:80 univention/ucs-generic-amd64:4.0-1 /sbin/init

A shell in the docker container can be started by

docker exec -it dockertest_container /bin/bash

The started docker container can easily be configured through the web based appliance setup wizard. In the example above the port 8011 of the docker host is redirected to the port 80 of the container. Thus, the HTTP port of the docker container can reached by typing http://<IP of the docker host>:8011.

Setup a DC master via docker

The first UCS system must always be a domaincontroller master. Univention provides pre-defined images for this setup which can be downloaded by the following command:

docker pull univention/ucs-master-amd64:4.0-1

The new UCS docker container can be started in the following way

docker run -d -e rootpwd=univention --hostname=master --name=master \
    -p 8011:80 univention/ucs-master-amd64:4.0-1 /sbin/init

The started docker container is available after some seconds and can be configured through the web based appliance setup wizard. In the example above the port 8011 of the docker host is redirected to the port 80 of the container. Thus, the HTTP port of the docker container can reached by typing http://<IP of the docker host>:8011. Alternatively, the container can be configured automatically configured via a profile file

Setup a DC slave via docker

Some apps need a local running OpenLDAP server. For this case, Univention provides pre-defined DC slave images which can be downloaded by the following command:

docker pull univention/ucs-slave-amd64:4.0-1

The new UCS docker container can be started in the following way

docker run -d -e rootpwd=univention --hostname=slave --name=slave \
    -p 8012:80 univention/ucs-slave-amd64:4.0-1 /sbin/init

The started docker container is available after some seconds and can be configured through the web based appliance setup wizard. In the example above the port 8012 of the docker host is redirected to the port 80 of the container. Thus, the HTTP port of the docker container can reached by typing http://<IP of the docker host>:8012. Alternatively, the container can be configured automatically configured via a profile file

Setup a member server via docker

Most applications use the system role member server which doesn't use a local OpenLDAP server. Univention provides pre-defined images for this setup which can be downloaded by the following command:

docker pull univention/ucs-member-amd64:4.0-1

The new UCS docker container can be started in the following way

docker run -d -e rootpwd=univention --hostname=member --name=member \
    -p 8013:80 univention/ucs-member-amd64:4.0-1 /sbin/init

The started docker container is available after some seconds and can be configured through the web based appliance setup wizard. In the example above the port 8013 of the docker host is redirected to the port 80 of the container. Thus, the HTTP port of the docker container can reached by typing http://<IP of the docker host>:8013. Alternatively, the container can be configured automatically configured via a profile file

Building Univention UCS docker images

Über docker.knut.univention.de oder

Docker first steps

  1. List images
    docker images
  2. List running containers
    docker ps
  3. Get shell
    docker exec -it member /bin/bash
  4. Restart a container
    docker restart member
Personal tools