Dockerfiles and Docker image to create WSO2 Enterprise Service Bus containers.
1.1K
A set of Docker scripts useful to compose Systems/Architectures containers layouts for (Micro)services development purpose using WSO2 and other products as ActiveMQ, Qpid, RabbitMQ, Monitoring tools, etc.
The configuration/functionalities not changed for each WSO2 container are:
The idea is creating several base docker images where we can compose complex architecture to implement (micro)services. Then, the available scripts to create a base docker images are:

In each WSO2 container are being copied the carbon.xml and web.xml files, where carbon.xml has updated parameters and they are a new ServerRole, Offset and ServerName. Change them if you require it.
1) Download docker scripts:
$ git clone https://github.com/chilcano/docker-wso2-dev-srv.git
$ cd docker-wso2-dev-srv
2) Create an image:
$ docker build --rm -t chilcano/wso2-esb:4.8.1 wso2esb/4.8.1
Where:
chilcano/wso2-esb:4.8.1 is the tag of the new imagewso2esb/4.8.1 is the PATH where Dockerfile is located3) Check created images:
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
chilcano/wso2-esb 4.8.1 254476f8c58e 6 seconds ago 1.393 GB
java openjdk-7 a93511e8921b 12 days ago 589.7 MB
4) Create, run, attach and stop a new container:
Create and run new container:
$ docker run --detach -t --name=wso2esb01a -p 19449:9443 chilcano/wso2-esb:4.8.1
d1f5628233cfe25bdf7331d8c79d7f49bdb6375bb52c2f13f0d25708c1d46c38
Where:
--detach or -d means to run the container in detached modewso2esb01a is the name of container19449 is the external port for the port 9443chilcano/wso2-esb:4.8.1 is the tag of image-t creates a pseudo-TTY, if this parameter is not provided, then when attaching the running container you will neve can release the shell session.Stop a running container:
$ docker stop wso2esb01a
wso2esb01a
Check if container is running:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
259a3d3eb8e0 chilcano/wso2-esb:4.8.1 "/bin/sh -c 'sh ./wso" 26 minutes ago Exited (137) 3 minutes ago wso2esb01a
Now, restart the existing container:
$ docker start wso2esb01a
wso2esb01a
... and check again if container is running:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
259a3d3eb8e0 chilcano/wso2-esb:4.8.1 "/bin/sh -c 'sh ./wso" 36 minutes ago Up 32 seconds 8286/tcp, 0.0.0.0:19449->9443/tcp wso2esb01a
5) Go to WSO2 Carbon Web Console
If container is running, just open this URL (https://<WSO2_HOST_IP>:19449/carbon) in a browser.
The <WSO2_HOST_IP> in my case is 192.168.99.102. You can get it running this command:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM ERRORS
default * virtualbox Running tcp://192.168.99.102:2376
machine-dev - virtualbox Running tcp://192.168.99.100:2376
machine-test - virtualbox Running tcp://192.168.99.101:2376
Where default is the active machine (is marked with *), then the 192.168.99.102 will be the IP Address to be used as <WSO2_HOST_IP>.
6) Attach to a running container:
$ docker attach --no-stdin=false wso2esb01a
Where --no-stdin=false means to enable the pseudo-TTY and to release shell, just send Ctrl+C.
7) Get a Shell/SSH session from a running container:
$ docker exec -i -t wso2esb01a bash
root@4689e1574550:/opt/wso2esb01a/bin#
root@4689e1574550:/opt/wso2esb01a/bin# ls
README.txt carbondump.sh ciphertool.bat java2wsdl.sh tcpmon.bat version.txt wso2carbon-version.txt wso2server.bat
build.xml chpasswd.bat ciphertool.sh org.wso2.carbon.bootstrap-4.2.0.jar tcpmon.sh wsdl2java.bat wso2esb-samples.bat wso2server.sh
carbondump.bat chpasswd.sh java2wsdl.bat tcpmon-1.0.jar tomcat-juli-7.0.34.jar wsdl2java.sh wso2esb-samples.sh yajsw
... and tailing the wso2carbon.log:
root@4689e1574550:/opt/wso2esb01a/bin# tail -f ../repository/logs/wso2carbon.log
TID: [0] [ESB] [2015-12-09 15:13:39,596] INFO {org.apache.synapse.transport.passthru.PassThroughHttpSSLListener} - Pass-through HTTPS Listener started on 0:0:0:0:0:0:0:0:8249 {org.apache.synapse.transport.passthru.PassThroughHttpSSLListener}
TID: [0] [ESB] [2015-12-09 15:13:39,597] INFO {org.apache.synapse.transport.passthru.PassThroughHttpListener} - Starting Pass-through HTTP Listener... {org.apache.synapse.transport.passthru.PassThroughHttpListener}
TID: [0] [ESB] [2015-12-09 15:13:39,597] INFO {org.apache.synapse.transport.passthru.PassThroughHttpListener} - Pass-through HTTP Listener started on 0:0:0:0:0:0:0:0:8286 {org.apache.synapse.transport.passthru.PassThroughHttpListener}
TID: [0] [ESB] [2015-12-09 15:13:39,600] INFO {org.apache.tomcat.util.net.NioSelectorPool} - Using a shared selector for servlet write/read {org.apache.tomcat.util.net.NioSelectorPool}
TID: [0] [ESB] [2015-12-09 15:13:39,683] INFO {org.apache.tomcat.util.net.NioSelectorPool} - Using a shared selector for servlet write/read {org.apache.tomcat.util.net.NioSelectorPool}
TID: [0] [ESB] [2015-12-09 15:13:39,719] INFO {org.wso2.carbon.registry.eventing.internal.RegistryEventingServiceComponent} - Successfully Initialized Eventing on Registry {org.wso2.carbon.registry.eventing.internal.RegistryEventingServiceComponent}
TID: [0] [ESB] [2015-12-09 15:13:39,792] INFO {org.wso2.carbon.core.init.JMXServerManager} - JMX Service URL : service:jmx:rmi://localhost:11117/jndi/rmi://localhost:10005/jmxrmi {org.wso2.carbon.core.init.JMXServerManager}
TID: [0] [ESB] [2015-12-09 15:13:39,792] INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} - Server : WSO2ESB01A-4.8.1 {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent}
TID: [0] [ESB] [2015-12-09 15:13:39,793] INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} - WSO2 Carbon started in 28 sec {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent}
TID: [0] [ESB] [2015-12-09 15:13:40,112] INFO {org.wso2.carbon.ui.internal.CarbonUIServiceComponent} - Mgt Console URL : https://172.17.0.2:9443/carbon/ {org.wso2.carbon.ui.internal.CarbonUIServiceComponent}
TID: [0] [ESB] [2015-12-09 15:14:26,563] INFO {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} - '[email protected] [-1234]' logged in at [2015-12-09 15:14:26,562+0000] {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil}
Content type
Image
Digest
Size
857.3 MB
Last updated
over 10 years ago
docker pull chilcano/wso2-esb