Skip to main content

Docker 1.5 offers new features and fewer bugs to make its container platform more user friendly.

One of the most useful features of Docker 1.5 is that it now helps users monitor statistics to allow users to set accurate resource limits for apps, making sure that no app can grow to take over an entire machine.

The new stats API endpoint and CLI command stream live CPU, memory, network IO and block IO. The API endpoint also can be utilized to build tools for feeding live resource information to existing monitoring solutions or to build live dashboards directly with the API.

With Docker 1.5, users also can assign an ipv6 address to each container with the `–ipv6` flag. The feature allows users to resolve ipv6 addresses from within a container and to have containers communicate across multiple hosts.

Users also now can enable a read-only filesystem for containers with the `–read-only` flag, allowing users to restrict the locations to which an application inside a container can write files.

Used with volumes, the read-only function ensures containers only can persist data where it can be managed in a known location.

One thing that Docker users have requested repeatedly is to have the ability to specify the file to use in a docker build instead of having to rely on the default `Dockerfile`. That has been rectified with Docker 1.5. With `docker build –f` command, users can define multiple Dockerfiles in one project and specify which Dockerfile to use when building. This is especially helpful for users who need separate Dockerfiles for testing and production environments.

Some other improvements for Docker 1.5 include:

* The ability to exclude the Dockerfile and .dockerignore files as part of the .dockerignore file
* Instructions for ADD and COPY accept relative paths
* The interpretation of Dockerfile `FROM` scratch instruction as a no-base specifier
* Improved performance when exposing a large number of ports
* The allowance of client-side only integration tests for Windows
* The inclusion of docker-py integration tests against Docker daemon as part of Docker test suites
* Support of the new version of the registry HTTP API
* An increase in speed for docker push for images with a majority of existing layers
* Repaired contacting of private registry through a proxy
* The ability to rename containers with the rename endpoint and the associated docker rename commands

Docker 1.5 also has major improvements to stability for the devicemapper storage driver, better integration with host systems and fixed container exiting on out of memory to return an invalid exit code.

Also, in an effort to grow community contributions to the Docker, more work is being encouraged on the construction of images and their layers.
To start, the way Docker currently builds and formats images and image configurations has been documented in the hope that users will have a better understanding of Docker imaging, enabling them to contribute to future efforts to improve image format.

Daniel Sachse

Author Daniel Sachse

More posts by Daniel Sachse