IBM DataPower Operations Dashboard v1.0.15.0

A newer version of this product documentation is available.

You are viewing an older version. View latest at IBM DPOD Documentation.

Docker Container for Developer Edition

The Docker Container for Light Developer Edition is a lightweight Developer Edition (previously known as Light Edition) designated mainly for developers.
It is geared towards the DataPower developer that wants to run DPOD on their development workstation, in the context of limited functionality.
The Docker Container for Light Developer Edition does not support upgrades and not entitled to IBM support. Each new version requires deployment of new container.

Limitations

Docker installations are limited to 3 monitored devices.
Docker installations are limited to 7 days. After 7 days, you will be redirected to a license page where a license request key can be generated.
Send the license request key to an IBM representative to get your license (the representative's email address will appear on screen).

Software and Hardware Prerequisites

Software

The Docker Container for Light Developer Edition has been tested only on:

  • CentOS 7.8 with Docker CE (Community Edition) version 18.09.2
  • Ubuntu 18.04.LTS Desktop with Docker CE version 18.09.2

    Ubuntu Server is not supported, please use Ubuntu Desktop.

  • Apple MacOS 10.13.4 with Docker CE version 18.03.1
  • Docker on Windows is not supported
Make sure to configure your Docker installation as recommended in Docker Compatibility Matrix, especially make sure to use the recommended storage driver.

Hardware

  1. At least 4GB of disk space that can grow up to 6GB.
  2. At least 3GB of free memory.
  3. At least 4 Cores of Intel based CPUs.

Installation

Image Download and Installation

Download the desired DPOD Docker image from IBM Docker Hub or from IBM's Fix Central

  1. Specific version: datapower-operations-dashboard:<version number>. For example: datapower-operations-dashboard:1.0.9.0
  2. Latest version: datapower-operations-dashboard:latest

Image Installation

There are two options for installing DPOD Docker image on you local image repository:

  1. Use the Docker pull command:

    docker pull ibmcom/datapower-operations-dashboard:latest
  2. Manual load: after downloading the desired images to your Docker host use the load command:

    docker load < /tmp/DPOD-Developer-Docker-1.0.9.tgz

Use the following command to display your local image repository:

docker images

This is how the result should look like:

Enable Firewall Rules (CentOS/Ubuntu only)

If needed enable firewall rules for allowing DataPower access to DPOD Docker container agents (syslog on port 60000 and wsm on port 60020 ) :

sudo iptables -I INPUT 1 -p tcp -m tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 60000 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp -m tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 60020 -j ACCEPT

save the configuration :

sudo iptables-save

Create a new Docker container

Use the following command to create a DPOD Docker container:

Make sure to replace DPOD_EXT_HOST_IP parameter value (currently provided as "<Host IP Address>") in the command below with the IP Address of the host machine that runs the Docker containers.
docker run -d \
   --security-opt seccomp:unconfined \
   --cap-add SYS_ADMIN \
   --cap-add SYS_RESOURCE \ 
   --cap-add SYS_TIME \ 
   --tmpfs /tmp:exec \
   --tmpfs /run \
   --tmpfs /run/lock \
   -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
   -v /etc/localtime:/etc/localtime:ro \
   --device /dev/rtc \
   -p 9022:22 \
   -p 443:443 \
   -p 60000:60000 \
   -p 60020:60020 \
   --stop-timeout 10 \
   --hostname dpod \
   --name dpod \
   datapower-operations-dashboard:latest && docker exec -d -u root dpod /bin/su - -c "export ACCEPT_LICENSE=true; export TIME_ZONE=America/New_York; export DPOD_EXT_HOST_IP=<Host IP Address>; /app/scripts/app-init.sh"

Notes:

Ports: the container should expose the following ports:

  • 22 – SSH access to the container
  • 443 – Web Console access
  • 60000 – Syslog agent. It is important that you map this port as it is exposed (60000)
  • 60020 – WS-M agent. It is important that you map this port as it is exposed (60200)


Special Considerations for Apple MacOS

  • The file /etc/localtime should be shared with the container: copy the file located on /etc/localtime to the user directory usually located at /Users/<user name>.
    If you choose to copy the file to another directory make sure to add it to the Docker File Sharing (Docker preferences whale
menu -> Preferences -> File sharing).

Example of Docker run command for MacOS:

Make sure to replace DPOD_EXT_HOST_IP parameter value (currently provided as "<Host IP Address>") in the command below with the IP Address of the host machine that runs the Docker containers.

Make sure to replace <User Directory> in the command bellow with the full path of the directory that /etc/localtime was copied to.

docker run -d \
   --security-opt seccomp:unconfined \
   --cap-add SYS_ADMIN \
   --cap-add SYS_RESOURCE \ 
   --cap-add SYS_TIME \ 
   --tmpfs /tmp:exec \
   --tmpfs /run \
   --tmpfs /run/lock \
   -v <User Directory>/localtime:/etc/localtime:ro \
   -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
   --device /dev \
   -p 9022:22 \
   -p 443:443 \
   -p 60000:60000 \
   -p 60020:60020 \
   --stop-timeout 10 \
   --hostname dpod \
   --name dpod \
   datapower-operations-dashboard:latest && docker exec -d -u root dpod /bin/su - -c "export ACCEPT_LICENSE=true; export TIME_ZONE=America/New_York; export DPOD_EXT_HOST_IP=<Host IP Address>; /app/scripts/app-init.sh"


Important:

Run the Docker exec command in order to apply your specific Docker environment. The command could be run in any point of time after creating and running the Docker container.

It may take up to 10 minutes for the application to start.

The following environment variables can be used when invoking the command:

  • ACCEPT_LICENSE: (mandatory) Indication that the user has accepted the EULA (End User License Agreement). The value for accepting is the number 1. (For reviewing the license agreement see "reviewing license agreement ")
  • TIME_ZONE: (optional) use the time zone configured to your monitored device. The time zone should be compatible with the “tz database time zone”. The default time zone is “America/New_York”.
  • DPOD_EXT_HOST_IP: (optional) Use this variable if your monitored device does not have direct access to your DPOD container (for example, if you are using physical or virtual IDG appliance).
    The value should be the Docker host IP address.
  • DPOD_NTP_1: (optional) use this value to configure your primary NTP server IP address inside the DPOD container.
  • DPOD_NTP_2, DPOD_NTP_3, DPOD_NTP_4: (optional) use this value to configure your secondary NTP servers IP address inside the DPOD container.


Use the following command to display running docker containers:

docker ps


Access the DPOD container

  • Web Console - From your web browser use the container IP address, or more likely your Docker host IP address mapped to the Web Console port (443 in the example) : https://<IP address>.
    user : admin and default password : adminuser
  • SSH - Use the container IP address, or more likely your Docker host IP address mapped to the ssh port (9022 in the example) .
    user : root and default password : dpod

Re-run Previously Created DPOD Docker Container

Make sure to replace DPOD_EXT_HOST_IP parameter value (currently provided as "<Host IP Address>") in the command below with the IP Address of the host machine that runs the Docker containers.
docker start dpod  && docker exec -d -u root dpod /bin/su - -c "export ACCEPT_LICENSE=true; export TIME_ZONE=America/New_York; export DPOD_EXT_HOST_IP=<Host IP Address>; /app/scripts/app-init.sh"

Note : Run the Docker exec command in order to apply your specific Docker environment. The command could be run in any point of time after creating and running the Docker container.

It may take up to 10 minutes for the application to start.

Review License Agreement

For reviewing the license agreement execute the following command. The command can be executed in any stage as long as the container is running.

docker exec -t -u root dpod /bin/su - -c "export SHOW_LICENSE=true; /app/scripts/app-init.sh"




IBM DataPower Operations Dashboard (DPOD) v1.0.15.0