Article
· Jan 27, 2016 1m read

Announcing Support for Docker Container Technology as a Platform in 2016.1 Release

InterSystems is delighted to announce the support of Docker container technology as a platform from the moment 2016.1 will be released.


Docker is a disruptive system technology that has many benefits and offers many advantages for those investing in infrastructure-as-code or immutable-infrastructure provisioning & deployment scenarios.
Like any new technology that appears, there is a learning curve, and many considerations need to occur when using it. However, Docker container technology has already proven to be successful by a huge follow-up with many companies already using it in production. Furthermore & FYI, all public cloud providers already support it.


InterSystems validates and supports its technologies on Docker container engine from v1.8 and above with CentOS, Ubuntu, RedHat and SUSE based containers from the official Docker Hub repository or their respective projects and sites.

Have fun with it

Discussion (14)3
Log in or sign up to continue

Hi Luca,

Will there any academic sessions at global summit with Docker ?
I think it should be, it will be very helpful, to understand how it works with Cache, how possible to deploy applications. I like docker, and think about it, but still do not understand how it can be used with our applications, and how to make container for it, and connect to Cache's container.

Hi Dmitry,

This year GS is going to be different. I'm sure there will be a session on Docker containers.

in the meantime, you might want to pick a Dockerfile example and the ccontainermain exe from here:

https://github.com/zrml/ccontainermain

If you have specific questions please feel free to open up a Docker specific thread under this Cloud group.

Thanks

Luca, may I ask, what exactly means InterSystems supports Docker now. I have not found anything about docker in documentation in version 2016.1. Actually I see that you already use docker with version 2015, and with 2016 I still have to use ccontainermain. It would be better if we could just use ccontrol for the same functionality as it now used ccontainermain.

@Dimitri, first of all, you don't have to use ccontainermain, you can script your own solution. It's just a quick-start utility. Caché ccontrol -as the name implies, is the database image control process and does many things. None of them are concerned with keeping the container alive which is not -by definition, a Linux distribution.

InterSystems has been testing and running its QD testing suites against Docker containers from the 2nd quarter of 2015. Stating that we support Docker containers means that we support our platform in this environment. However, there are MANY gotchas and anybody interested in "containerizing" their app or more to the point, switching to a micro-service architecture,  should approach it as a new platform.

Thanks for the reply Luca, of course, I know that I can write my own script for it, and your ccontainermain it is a very good solution. And it works quite well, and with some my modifications, more informative now. And I hope that I can help to improve this tool.
Now I am goid to write an article (in russian yet), about Docker+Caché+HAProxy, not as a micro-service, but with ECP, my containers will work as ECP-Applications with registration on HAProxy. And on github I have some questions which I now faced, when worked on it.

@dmitry thanks for the pull request; great idea; all merged now.

On the article you're working on: we hope you can share it once translated into English so that a wider audience can benefit from your precious work. Depending on how you spin up containers there are a couple of critical areas I'd like you to describe so that we can all learn from each other experiences here:

  1. Data Volumes
    • Containers are ephemeral and although we can mount host volumes we need to think ahead
      • What do those volume-drivers offer us? (See Rancher Convoy, Flocker & EMC Rex-Ray, etc.)
      • How integrated are they with the underline FS or SAN? (think snapshots, replication etc.)
  2. Networking
    • if you have more than one node it's tough to get containers to communicate so you'll have to run an overlay network.
      • my two favourites are (a) Weave.works, (b) project Calico and (c) flannel by the CoreOS guys.

 

Both the above aspects are fundamental to have a production system.

Let us know how you get on. Hope to see you in Phoenix.

Bear in mind that a container is not exactly the same as a full OS installation, unless you make it so. This can lead to surprising problems.

One issue that I have seen is that installations fail when using a CentOS 7 container with an error that gzip is not found -- even though gzip is installed.

If you encounter this, make sure that the 'which' command is installed in the container. The installation tool uses which to locate gzip.

yum install -y which

This may prevent an annoying issue when you are commissioning a new container.

Hello Everybody,

I think it's worth clarifying the fact that since 2016 (the date of the original post), InterSystems has been working on offering its main product, InterSystems IRIS, in an officially supported container. The day of the officially supported container was the day of the launch of Intersystems IRIS 2018.1. Today this container is also Docker certified.

You can find the Docker certified community edition of InterSystems IRIS in the Docker Hub repository at this link. Other images will be posted as soon as Docker comes out with their new partner site supporting BYOL containers and the rest.

It is also important to note how, although many customers have leveraged the flexibility of containers, using Caché and Ensemble, in general, the experience is sub-optimal. We have made many improvements that remove many frictions and issues. Consider the Durable %SYS feature for example or the container main process iris-main. We would like to encourage you to test out the InterSystems IRIS containers ASAP.

Furthermore, we have and still keep trying to make the container as compact as possible & we keep scanning it and maintaining against known SVs threats. Finally, you know you'd be running with a certified image that is supported by both InterSystems and Docker.

For more info on InterSystems IRIS container see our container documentation.

Also, don't forget to review the Docker EE Compatibility Matrix that gives us all details on the supported host OSs and storage drivers. Please note how the overlay2 containers storage driver is becoming predominant as the default driver in many distros. 

Details of supported OSs, container engines and exceptions of InterSystems IRIS 2019.1 container are found here.