Installation on Docker

Introduction

The following guide will explain how to install a self contained azeti Engine on an Docker Host. It is a very fast way to get started.

Please note that this way is intended for demonstrations, test and PoC environments. Further steps are required to scale up an installation for hundreds or thousands of sites. Contact our Service Desk for further information.

Prerequisites

ResourceFurther Information
  • Create a free DockerHub account. The software is downloaded from azetis restricted DockerHub repository.
https://hub.docker.com/
  • Request a trial license and access through the azeti Service Desk. You will receive installation files, a license and access.

Please refer to your DockerHub username when requesting the license. This allows azeti to unlock you for the software download.

https://azetinetworks.atlassian.net/servicedesk/customer/portal/1/create/8
  • Installed Docker Host with administrative privileges and internet access.

We recommend Ubuntu LTS 16.04 as OS for Docker.

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04
  • Installed docker-compose tool. Required to execute the initialization scripts.
https://docs.docker.com/compose/install/
On this page:

Related articles



Installation

  1. Ensure that you got docker-compose installed.

    root@ubuntu:~# which docker-compose
    /usr/local/bin/docker-compose
    root@ubuntu:~# docker-compose -v
    docker-compose version 1.7.1, build 0a9ab35
    root@ubuntu:~#
  2. Extract the installation files

    ~/Downloads ❯❯❯ unzip demoStack-1.0.6.zip
      ...
      inflating: demo/init_stack.sh
  3. Execute init_stack.sh and follow the instructions. It will automatically pull the required images and files from the azeti repository and set up the basic system.

    ~/Downloads/demo ❯❯❯ ./init_stack.sh
    For this script to work, you need credentials for the DockerHub and you must have read access to the Azeti Organization!
    Enter DockerHub username and press [ENTER]:

Docker Stack Administration

The azeti Engine stack comes with a collection of administrative scripts which wrap around docker-compose. Change into the demo directory to access the scripts.

azeti@ubuntu:~/demo$ ll
total 48
...
-rwxr-xr-x 1 azeti azeti  101 May 31 17:40 start_stack.sh*
-rwxr-xr-x 1 azeti azeti   99 May 31 17:40 stop_stack.sh*
-rwxr-xr-x 1 azeti azeti  915 May 31 17:40 update_stack.sh*

Starting and Stopping

Use the start and stop script.

azeti@ubuntu:~/demo$ sudo ./stop_stack.sh
Stopping the full stack...
Stopping sscdemo_influxdb_1 ... done
Stopping sscdemo_db_1 ... done

Same for starting it up again.

azeti@ubuntu:~/demo$ sudo ./start_stack.sh
Starting the full stack...
Starting influxdb_data ... done
Starting db_data ... done
Starting db ... done
Starting influxdb ... done
...

Update

You can easily update the full stack with the script, it does a docker-compose pull ... and fetches the latest application builds. Make sure to create backups before hand.

azeti@ubuntu:~/demo$ sudo ./update_stack.sh
Enter DockerHub username and press [ENTER]: 
Enter DockerHub password and press [ENTER]: 
Login Succeeded
Stopping the full stack...
Stopping sscdemo_tomcat_1 ... done
Stopping sscdemo_activemq_1 ... done
Stopping sscdemo_influxdb_1 ... done
Stopping sscdemo_db_1 ... done
Pulling tomcat (azeti/tomcat-data:latest)...
latest: Pulling from azeti/tomcat-data
8b87079b7a06: Already exists
..
Starting sscdemo_db_data_1
...Starting activemq ... done
Starting tomcat ... done

Log Rotation

Docker will not rotate container logfiles automatically. This can cause high disk usages and large amount of log file data. Check with your Docker Administrator if any log rotation is already configured. Below is an easy approach (based upon this article) for regular rotation using logrotate.

  1. Create a new Logrotate config file in /etc/logrotate.d/docker-container
  2. Enter the below configuration

    var/lib/docker/containers/*/*.log {
      rotate 7
      daily
      compress
      size=1M
      missingok
      delaycompress
      copytruncate
    }
  3. Start logrotate with the new configuration

    logrotate -fv /etc/logrotate.d/docker-container

Next Steps