The open-source Docker container virtualization project received a number of milestone updates this week with new releases of Docker Engine 1.6, Docker Registry 2.0 and Compose 1.2.0.
The Docker Registry is the code that enables the Docker Hub, which is a repository of Docker apps. Scott Johnston, SVP of Product, Docker, Inc, told ServerWatch that the plan is to transition Docker Hub to Registry 2.0 later in April. The new Registry is built in Google's Go language, while the previous versions of Registry were built in Python.
"The key aspect about the new registry is not as much about the native TLS, revised authentication, and backends," Johnston explained. "It is more about a complete rehaul of the image format, namespaced resources, performance and security.
On the revised authentication piece, Johnston said that Registry 2.0 supports two modes – basic authentication through a reverse proxy design (as in Registry 1.x) and JSON Web Token-based authentication. More information on this can be found on JWT-based token.
From a TLS (Transport Layer Security) perspective, Johnston explained that previously TLS termination was provided by a reverse proxy (nginx or HAproxy), but now registry provides TLS termination on its own.
Docker 1.6 Adds Support for Labels and Constraints
The Docker Engine 1.6 release adds new support for labels, which can be applied to application containers running on a host server.
"Labels allow users to assign key value pairs of labels to their engines, containers and images, and identify queries and sorts based on those labels," Johnston explained. "Through the power of labels, users can attach additional metadata to containers that can be used to add more services to the container."
Johnston added that as a result users can now manage their container-based distributed apps more easily and efficiently than before. Additionally, labels are not visible to the running application, and they can also be used for fast look-up of images and containers.
Docker 1.6 also features the ability to build images from an image ID as well as the ability to impose constraints such as memory restrictions on images.
Additionally, the new Docker Compose 1.2.0 update provides users with even more options for building containers. Johnston explained that Compose is the layer above Docker, so compose users can take advantage of the image ID features when building their multi-container distributed applications.
With Docker 1.6 now generally available, the next milestone will be Docker 1.7, which is currently scheduled to be released in June.