Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

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

  • CentOS 7.4 (kernel 3.10) 8 with Docker CE (Community Edition) version 17version 18.09.12
  • Ubuntu

    16

    18.04.

    3 LTS (Xential)

    LTS Desktop with Docker CE version

    17

    18.09

    .1

    .2

    Note

    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
Note
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 4GB of disk space that can grow up to 4GB6GB.
  2. At least 3GB of free memory.
  3. At least 4 Cores of Intel based CPUs.

...

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

...

  1. Use the Docker pull command:

    Code Block
    languagebash
    themeRDark
    docker pull ibmcom/datapower-operations-dashboard:latest


  2. Manual load: after downloading the desired images to your Docker host use the load command:

    Code Block
    languagebash
    themeRDark
    docker load < /tmp/DPOD-Developer-Docker-1.0.89.tgz


Use the following command to display your local image repository:

...

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 ) :

Code Block
languagebash
themeRDark
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

...

Code Block
languagebash
themeRDark
sudo iptables-save

Create a new Docker container

Use the following command to create a DPOD Docker container:

Note
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.


Code Block
languagebash
themeRDark
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=192.168.65.110<Host IP Address>; /app/scripts/app-init.sh"

...

Special Considerations for Apple MacOS

  • Add the --privileged option to the Docker run command.
  • 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).Remove the cgroup volume from Docker run command.

Example of Docker run command for MacOS:

Note

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.


Code Block
languagebash
themeRDark
docker run -d \
   --security-opt seccomp:unconfined \
   --cap-add SYS_ADMIN \
   --cap-add SYS_RESOURCE \ 
   --privilegedcap-add SYS_TIME \ 
   --tmpfs /tmp:exec \
   --tmpfs /run \
   --tmpfs /run/lock \
   -v <User Directory>/Userslocaltime:/User1etc/localtime:ro \
   -v /sys/fs/cgroup:/etcsys/fs/localtimecgroup: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=192.168.65.110<Host IP Address>; /app/scripts/app-init.sh"

...

Re-run Previously Created DPOD Docker Container

Note
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.


Code Block
languagebash
themeRDark
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<Host IP Address>; /app/scripts/app-init.sh"

...