Lately, IBM has done great job by providing development version of
Datapower in different flavors. It's really useful for doing POC stuff as
well as testing application in development environment. Today, I had a chance
to play with Docker edition of Datapower Gateway. Within few minutes, I was able to pull
the Datapower Docker image from the Docker hub, create the
Datapower Docker container, run, and play with Datapower. IBM Datapower Gateway for Docker web page (https://hub.docker.com/r/ibmcom/datapower/) has good information to start with. However, this image contains unconfigured Datapower Gateway, and you'll not be able to access
either Datapower Web Management Console or establish SSH connection to
Datapower even after the container is running. For that either you have to
access the Datapower in interactive mode and enable the admin-state of Web
Management and SSH, add configuration through Docker build or use (externalised) configuration
file during run. Below we'll discuss two (out of three) options.
1) [optional] Create 'config' and 'local' directories on your host machine's file system from where you are going to execute the docker run command later in the step #2. For example, I have created following directory structure under: /opt/docker_dev/datapowerbuild/
We are going to put docker configuration file(s) in those directories.
Docker is able to access these external configuration. It is very powerful
concept and explained as [data] volume in Docker documentation. Read
details here.
2) [optional] Create auto-startup.cfg configuration file and put under 'config' directory created in step #1, so that Docker Web Management and SSH admin state is enabled when Docker container runs.
Above script is taken from https://github.com/ibm-datapower/datapower-tutorials/blob/master/using-datapower-in-ibm-container-service/src/auto-startup.cfg
3) Execute docker run command. It's assumed that you already have Docker installed, configured and running on your host machine. If not follow Docker installation steps here:
Following command is based on IBM's instruction available at https://hub.docker.com/r/ibmcom/datapower/
Note: make sure your machine is connected to internet otherwise it will not be
able to pull the Datapower Docker image from Docker hub.
Some of the last line you'll see before logon prompt are:
4) logon to console using default userid 'admin' and password 'admin'.
5) Launch browser and type 'https://<host machine ip>:9090' to access Web Management console.
6) Create ssh connection to your host on port 2222 to access Datapower.
Note: If you have not performed optional steps #1 and #2, your web-mgmt and 'ssh' connection will not be available. Perform the optional steps #7.
7) [optional] Connect to Datapower console interactively and turn the Global Configuration mode.
See the screen shots below for better clarity.
Looks like you're really into Docker, see my other related blog posts below:
1) [optional] Create 'config' and 'local' directories on your host machine's file system from where you are going to execute the docker run command later in the step #2. For example, I have created following directory structure under: /opt/docker_dev/datapowerbuild/
$ ls -rl datapowerbuild |
2) [optional] Create auto-startup.cfg configuration file and put under 'config' directory created in step #1, so that Docker Web Management and SSH admin state is enabled when Docker container runs.
top; co |
Above script is taken from https://github.com/ibm-datapower/datapower-tutorials/blob/master/using-datapower-in-ibm-container-service/src/auto-startup.cfg
3) Execute docker run command. It's assumed that you already have Docker installed, configured and running on your host machine. If not follow Docker installation steps here:
Following command is based on IBM's instruction available at https://hub.docker.com/r/ibmcom/datapower/
$ docker run -it \ |
Some of the last line you'll see before logon prompt are:
20170201T014408.003Z
[0x00350014][mgmt][notice] ssh(SSH Service): tid(111): Operational
state up
|
5) Launch browser and type 'https://<host machine ip>:9090' to access Web Management console.
6) Create ssh connection to your host on port 2222 to access Datapower.
Note: If you have not performed optional steps #1 and #2, your web-mgmt and 'ssh' connection will not be available. Perform the optional steps #7.
7) [optional] Connect to Datapower console interactively and turn the Global Configuration mode.
configure terminal |
Enable web-mgmt admin-state
Enable ssh admin-state
Showing the status
Looks like you're really into Docker, see my other related blog posts below:
- Using Docker Secrets with IBM WebSphere Liberty Profile Application Server
- Make your container deployment portable
- Experience sharing - Dock Datacenter
- Setting up CLI environment for IBM Bluemix
- Quick start with IBM Datapower Gateway Docker Edition (this post)