A completely renewed concept of the image registry, a major addition to a key orchestration tool, and a revised engine that supports a Windows-based client headline the list of refreshes announced Thursday by Docker, Inc. In an interview with The New Stack, Docker Senior Vice President Scott Johnston revealed it’s the intention of his company to adopt a cadence of major releases to key components of the Docker suite every other month.
“We’re now starting to see a product portfolio,” said Johnston. “And it’s important to us that those products work well together out of the box for our users. Part of making sure that happens is releasing them together in tandem on a regular cadence. You’ll see this cadence every other month from us.”
Johnston said he’d like to aim for the first week of each month. In the early stages of the program, however, that might not always be practical. He did confirm there would be a batch of releases for June, and it’s reasonable to presume that batch would be timed to coincide with the scheduling for DockerCon 2015 in San Francisco.
The new cadence will no doubt be fueled by Docker’s latest infusion of capital, in the amount of some $95 million in Series D funds, announced Tuesday.
Docker, Inc. is the commercial entity that emerged from the PaaS provider dotCloud, Inc. when its open source Docker containerization project became more lucrative than the PaaS itself. Last January, in an effort to come to grips with Docker’s unprecedentedly rapid growth, the entity realigned itself, appointing its founder Solomon Hykes the dual roles of CTO and chief architect.
One of the key updates for the April update is a new Registry format for new images being uploaded to a Docker repository.
Johnston told us the main benefit for the Registry 2.0 format is faster uploads and downloads. Layers may now be pulled in parallel instead of sequentially. Since a Docker image may be comprised of 10 to 15 layers, he noted, this could speed up events significantly. Users of Docker Engine as well as other orchestration tools should notice the speed boost, he said.
However, he also promised Docker containers already in production will not be negatively impacted by the change, noting it was “super-critical” that any change to the Registry not break existing containers.
“You will find that, whether it’s the v1 version of the image or this newer v2, it will work transparently to the end user,” stated Johnston. “They can pull down the v1 image, and it will automatically, under the covers, upload that into the new format. All their existing images will not break at all.”
Docker Engine 1.6
With version 1.6 of the Docker Engine being released today, comes a container handling feature that allows Docker images to be queried and located by way of the CLI, by their image ID. That sounds like an esoteric feature, until Johnston gave it some context: Now, the admin will be able to identify and isolate a specific layer within an image.
Such a capability, he explained, had it existed last year, would have enabled admins to query all containers on all addressable Docker Engines, in search of layers whose image IDs indicate they contain the vulnerable versions of OpenSSL. Using the list returned by that query, admins could then make surgical adjustments to the containers — in essence, a “layer transplant.”
“It’s a phenomenal feature that really helps sysadmins with change management in the data center in a very efficient way,” remarked Johnston. “Before that, there was no one-to-one tie between the functionality in that layer in an image, and a piece of software.”
He also noted that Docker plans to make a graphical version of this query tool available in coming updates.
A new and finalized version 1.2.0 of Compose — the orchestration tool formerly known as Fig — will alter the format of the configuration file, enabling different compositions of an application to be distributed to separate divisions of the team.
Having a single file explain the entire configuration, explained Scott Johnston, was fine back in the day when no more than two developers worked on a containerization project. But when a distributed application is being shipped across multiple environments, he said, “a single, flat file is kinda tough to scale.
“This next version of Compose offers a way to share nested definitions of the distributed app, so you can have a common framework that’s then shared across different environments,” he continued. For example, a web app may include a number of layers that are applicable to all distributions, all of which would be listed in a common.yml file. Those contents would be nested in other .yml files representing the development version of the distribution, and the production version.
This allows for separate teams, Johnston went on, who may be responsible for the development of the application separate from the production environment, the deployment of the application and its associated database in production, and the maintenance of the application once it’s in production. Changes to the common.yml file would be automatically populated to the derivative files.
“This allows you to decompose the application, and let the teams run loosely coupled,” he said, “so you’re not trying to jam everything into one big file, one big release.” Changes made by the maintenance team would be automatically reflected in the configurations for the development and database/deployment teams.
Finally — and not insignificantly — the April updates to Docker Engine will include a version of the Docker client for Windows, finally rounding out the company’s cross-platform support. Johnston confirmed that is the version actually contributed to Docker by Microsoft itself, as part of the two companies’ partnership announced last October.
Feature image via Flickr Creative Commons.