The Docker Container for Light Developer Edition is a lightweight "Developer edition" (previously known Light)  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 installation is limited to 7 days, after 7 days, you will be redirected to a license page where a license request key will be generated.
Send the license request key to 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.4 (kernel 3.10) with Docker CE (Community Edition) version 17.09.1 , Ubuntu 16.04.3 LTS (Xential) with Docker CE version 17.09.1 and Apple OSX  10.13.4 with Docker CE version 18.03.1
Docker hosted 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 2GB of disk space that can grow up to 4GB.
  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.8.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.8.tgz


After downloading the desired images to your Docker host use the load command:

Use the following command to display your local image repository:

docker images

This is how the result should look like:

Enable Firewall Rules

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

iptables -I INPUT 1  -p tcp -m tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 60000 -j ACCEPT
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 :

iptables-save

Create a new Docker container

Use the following command to create a DPOD Docker container:

docker run -d \
   --security-opt seccomp:unconfined \
   --cap-add SYS_ADMIN \
   --tmpfs /tmp \
   --tmpfs /run \
   --tmpfs /run/lock \
   -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
   -v /etc/localtime:/etc/localtime:ro \
   -p 9022:22 \
   -p 443:443 \
   -p 60000:60000 \
   -p 60020:60020 \
   --stop-timeout 10 \
   --hostname dpod \
   --name dpod \
   dpod: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=192.168.65.110 ;/app/scripts/app-init.sh"

Notes:

Ports: the container should expose the following ports:


Special Considerations for Apple OSX

example Docker run command for OSX :

docker run -d \
   --security-opt seccomp:unconfined \
   --cap-add SYS_ADMIN \
   --privileged \
   --tmpfs /tmp \
   --tmpfs /run \
   --tmpfs /run/lock \
   -v /Users/User1/localtime:/etc/localtime:ro \
   -p 9022:22 \
   -p 443:443 \
   -p 60000:60000 \
   -p 60020:60020 \
   --stop-timeout 10 \
   --hostname dpod \
   --name dpod \
   dpod: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=192.168.65.110 ;/app/scripts/app-init.sh"


Impotent :

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 5 minutes for the application to start.

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

Access the DPOD container

Re Run Previously Created DPOD Docker Container


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=192.168.65.110 ; /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 5 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"