IBM DataPower Gateway for Docker
The IBM DataPower Gateway for Docker combines the power of DataPower with the flexibility of Docker. This image contains an unconfigured DataPower Gateway with the default username
admin and password
admin. You add configuration through
docker build or by attaching volumes.
IBM DataPower Gateways is a market leading extensible gateway platform for developers & enterprises. It helps you quickly secure, control, connect and accelerate the delivery of APIs, applications and data across digital business channels in the cloud and on premise to enable digital innovation and transformation.
This image is made available free of charge without IBM support for developer usage. IBM offers other licenses with support for this image, contact IBM for details.
||The latest stable version|
||The latest stable version of the major release|
||A specific stable version|
||The latest beta version|
||A specific beta version|
IBM DataPower Gateways Product Documentation describes in detail how to use IBM DataPower Gateways.
This image requires a minimum of 4GB RAM and 2 CPUs.
To use the image, you must accept the license terms. If you do not assert that you have accepted the license, DataPower will prevent most tasks.
You can view the license with the
/bin/drouter --show-license arg or by specifying
docker run -e DATAPOWER_SHOW_LICENSE=true ibmcom/datapower docker run ibmcom/datapower /bin/drouter --show-license
You can assert license acceptance by specifying the environment variable
DATAPOWER_ACCEPT_LICENSE=true or with the
/bin/drouter --accept-license arg when you run the image.
docker run -e DATAPOWER_ACCEPT_LICENSE=true ibmcom/datapower docker run ibmcom/datapower /bin/drouter --accept-license
Other Startup Options
The primary DataPower Gateway process is
drouter. You can convert
drouter arguments to environment variables for the
docker run command, or enter them at the CLI.
Usage: drouter [options] [config file] Options: -l, --log-level <num> : Sets the default log level. -n, --log-stdout : Directs the default log output to stdout. -m, --log-color : Enables color on the default log when it is directed to stdout. -i, --interactive : Prompts for login to the DataPower CLI on stdin. -t, --worker-threads <num> : Sets the number of worker threads for the main DataPower process. -V, --version : Shows the DataPower version and exits. --version-xml : Shows the DataPower version in XML and exits. --system-info : Shows the DataPower version in XML format and exits. --accept-license : Asserts that the product license has already been accepted. --show-license : Displays the product license in English. Use '--no-' prefix to negate boolean options. Example: --no-log-stdout Environment variables: Use capitalized long names prefixed by DATAPOWER_ and with '-' characters replaced with '_'. Example: DATAPOWER_LOG_COLOR=true The command line options take precedence over environment variables.
DATAPOWER_LOG_COLOR=true environment variables are set in this image.
We recommend that you always set
DATAPOWER_WORKER_THREADS=x to a value less than the number of CPUs on your system. Otherwise, the DataPower Gateway will default to one worker thread for each CPU.
local:/// directories are in the image as
/drouter/local. The best practice for adding configuration is to attach volumes or
COPY your DataPower configuration into those directories at
docker build time.
An example of using DataPower configuration in Docker Volumes:
docker run -v /path/to/my/config:/drouter/config -v /path/to/my/local:/drouter/local ibmcom/datapower
If you don't already have configuration, you can enable
web-mgmt, map port 9090, and import or create a new configuration. When you
write mem or Save Configuration, the resulting files will be written to the volumes.
Putting it all together
One common way a Developer might run DataPower is:
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 \ ibmcom/datapower
The Docker volumes allow the developer to read and save configuration from and to files that are under version control.
DATAPOWER_INTERACTIVE=true combined with the
docker run -it args allow the developer to log in directly to the DataPower CLI. Docker's
--tty args must be used for DataPower's interactive mode to work.
By limiting the number of DataPower worker threads to 4, the developer ensures that his 8-core machine is optimized for running other containers along with a reasonably capable DataPower container.
Mapping port 9090 allows access to the DataPower web-mgmt interface on its default port.
For help with the IBM DataPower Gateway for Docker, you can join the DeveloperWorks communities. Both DeveloperWorks Answers and the DeveloperWorks DataPower Forum are vibrant communities. You'll find everyone from beginners to industry experts to development team members there. We welcome you to join us!
Links to Resources
- IBM DataPower Gateways Developer Center
- IBM DataPower Gateways
- IBM DataPower Gateways Product Documentation
- DeveloperWorks Answers
- DeveloperWorks DataPower Forum
View the license directly in the image at
/LICENSE.txt or with the command
docker run ibmcom/datapower /bin/drouter --show-license. The license can also be viewed from the
web-mgmt interface using a browser.
"Development" means that the Program can only be deployed as part of Licensee's internal development and unit testing environments. Licensee is not authorized to use the Program for testing, quality assurance activity, testing scalability of any code, application or system, internal benchmarking, staging, production workloads, or simulating production workloads. Licensee is not authorized to use any part of the Program for any other purposes without acquiring the appropriate non-production or production entitlements.