ot4i / iib-docker

Eclipse Public License 1.0
63 stars 115 forks source link

iib with ibmmq #39

Closed FarhadF closed 6 years ago

FarhadF commented 6 years ago

Any info on how to integrate iib and mq? The most desired state is running each in their own container. On docker side, I am using userdefined network and already put both container on the created network, they have dns visibility to each other.

dcb-robinson commented 6 years ago

Hi. Please take a look at our newly released iib-mq-server for 10.0.0.11, https://github.com/ot4i/iib-docker/tree/master/10.0.0.11/iib-mq-server

This is a docker image with iib and mq installed together, which I note is not the desired state for yourself. However, we do not recommend running the two separately.

"Given that MQ and IIB are both already running multiple processes, I would not be too concerned about running the two together. Quote from Best practices for writing Dockerfiles (retrieved 19 Jan 2018, 11:28 GMT):

You may have heard that there should be “one process per container”. While this mantra has good intentions, it is not necessarily true that there should be only one operating system process per container. In addition to the fact that containers can now be spawned with an init process, some programs might spawn additional processes of their own accord. For instance, Celery can spawn multiple worker processes, or Apache might create a process per request. While “one process per container” is frequently a good rule of thumb, it is not a hard and fast rule. Use your best judgment to keep containers as clean and modular as possible.

Although modularity is slightly hurt by bundling IIB and MQ together, it brings with it an important benefit: the ability to use server bindings to connect the two. If this is not needed, then it may be wiser to use them separately through client connections."

"FYI – sharing resources e.g. ipc namespaces with –ipc, to use bindings connections to a queue manager in a separate QM container is not supported by IBM at this point in time. Best to stick to the described method of running IIB and MQ inside the same container."

The above comments can be seen on the following article, which describes a way to customize an iib with mq image and so may have some useful information : https://developer.ibm.com/integration/blog/2017/04/04/ibm-integration-bus-docker-tips-tricks/

FarhadF commented 6 years ago

Thanks alot, Looking forward to the supported separated version. I'll stick to this method for now.