Docker – the open-source software enabling developers to build, ship and run distributed applications – has added a number of new functions with its 2016 releases. Here is an overview of the new releases that have occurred so far in 2016 and the benefits of each.
The Docker 1.10 release in January 2016 focused on how Docker stores images and file system data in containers. Specifically, several key areas of change include a more secure foundation for referencing images and layers, a new distribution manifest and pull features, a migration step when upgrading existing images, and a migration tool to minimize the time spent during migrations.
Container security, better networking and new tools and features for system administrators were all included in the 1.10 release. These changes are supported by a new Compose File V2 format.
Docker Engine now includes container seccomp profiles for defining complex security policies. User namespaces is no longer in experimental and an authorization plugin system is available for complex access control. Content addressable IDs for images are now also available.
[See Also: A Breakdown of Docker: Getting Started]
The Docker 1.11 release in May 2016 offers the first OCI-compatible runtime in the industry. It features the same UI and commands but enables containerd and runc to operate directly within Docker Engine. This release also features DNS round robin load balancing and Ipv6 service discovery. Swarm container rescheduling is no long experimental and a Microsoft Azure Driver is now included in the Engine following collaboration between Microsoft and Docker.
Perhaps the most anticipated aspect of the 1.11 release is the collaborative efforts between and Docker and Apple and Microsoft resulting in beta Docker for Mac and Docker for Windows programs. The programs each offer a deeper integration of Docker to the respective platform and an overall better experience, resolved dependency issues and native networking support.
The Docker 1.12 release is fully backwards compatible and was released in June 2016. It added a number of new features including the following:
This feature includes built-in orchestration to give users Swarm Mode, an optional service for users in all Docker Engines providing decentralized and uniform building blocks for horizontal scale. Swarm Mode includes service discovery, strongly consistent distributed store, consistency and resiliency of app in case of node failure, dynamic role promotion and demotion of engines in a swarm, and zero downtime node management including maintenance mode and advanced diagnostics.
[See Also: Continuous Delivery with Docker]
A Service Deployment API providing a full stack app definition for production deployment is added in the release. Users declare the desired state and then desired/actual states are consistently compared and automatically reconciled. Rolling updates are provided and application-specific and custom health checks are also offered.
A Routing Mesh for services now offers containerware load balancing built directly into the engine, enabling surface discovery. This load balancing is container and port-aware as opposed to the standard machine awareness that load balancers generally offer. This ensures that traffic is consistently routed to the correct service.
Built in End-to-End-Encryption is offered across the swarm featuring TLS encryption, TLS Mutual auth and Cert rotation which provides cryptographic node identity.
Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.