Blog Detail

DataPower Docker

04 Apr 17
webmaster
No Comments

DataPower firmware is getting bigger and fatter, the 7.6 firmware requires at least 8GB vMEM (virtual memory) to successfully start the DataPower virtual device (Linux or VMware) in order to avoid the device reload due to low memory throttling. For those who have a laptop with 4GB RAM or less, either you add more memory or buy a new laptop. Luckily, there is a 3rd solution, which is to migrate to DataPower Docker.

Installation:

  1. install ubuntu 14.0.4
  2. install open vm tools
    sudo apt-get install open-vm-tools-lts-trusty
  3. install docker
    sudo apt-get update
    sudo apt-get install apt-transport-https ca-certificates
    sudo apt-key adv \
    –keyserver hkp://ha.pool.sks-keyservers.net:80 \
    –recv-keys 58118E89F3A912897C070ADBF76221572C52609D
    echo “deb https://apt.dockerproject.org/repo ubuntu-trusty main” | sudo tee /etc/apt/sources.list.d/docker.list
    sudo apt-get update
    sudo apt-cache policy docker-engine
    sudo apt-get update
    sudo apt-get install docker-engine
    sudo service docker start
    sudo docker run hello-world
  4. install datapower
    sudo docker pull ibmcom/datapower

sudo docker run -it \
-v $PWD/config:/drouter/config \
-v $PWD/local:/drouter/local \
-e DATAPOWER_ACCEPT_LICENSE=true \
-e DATAPOWER_INTERACTIVE=true \
-e DATAPOWER_WORKER_THREADS=4 \
-p 9090:9090 \
-p 9022:9022 \
-p 5554:5554 \
-p 8000-8010:8000-8010 \
–name idg \
ibmcom/datapower

Note:

Because the docker container process owner is not root, you won’t be able to start port 22, use 9022 instead.

Ports: Expose ports on the host system using (-p nn:nn) or let Docker choose the ports (-p nn). If you’re running multiple containers on the same host system, you should let Docker choose the ports for you.
/drouter/config is the location where DataPower will persist the configuration using an easy to read and editable format.
/drouter/local is used to store source files such as JavaScript (GatewayScript), XSLT, key, certificates and so on.
DATAPOWER_INTERACTIVE=true prompts for login to the DataPower CLI on stdin and must be used with -it. This intermixes log output, disable DATAPOWER_LOG_STDOUT if not desired.