Docker 1.5 is out: Includes IPV6, Read-Only, Stats, “Named Dockerfiles”

IPv6 support

Contributed by: Malte Janduda – Link to PR

You can now allocate an ipv6 address to each container with the new ‘–ipv6’ flag. You can resolve ipv6 addresses from within a container. You can even use this feature to have containers communicate across multiple hosts. For more information on setting up ipv6 and how it works, check out the docs.

Here’s a fun and easy way to try out this new feature:


# run the nginx container

$ docker run -d -p 80:80 --restart always --name ipv6-nginx nginx

# exec into it to change the default config to support ipv6

$ docker exec -it ipv6-nginx bash

# edit the /etc/nginx/conf.d/default.conf

# under listen 80;

# add the following line:

# listen [::]:80

# restart the nginx service

# this will also pop you out of the container

# and back to your host

root@container # service nginx restart

# get the global ipv6 address

$ docker inspect --format="{{.NetworkSettings.GlobalIPv6Address}}" ipv6-nginx

2a00:1450::242:ac11:5e

$ curl -6 -g [2a00:1450::242:ac11:5e]

 

Read-only containers

Contributed by: Michael Crosby – Link to PR

You can now enable a read-only filesystem for your container via the--read-only flag. The read-only feature allows you to restrict the locations that an application inside a container can write files to. By using this capability in combination with volumes, you can make sure containers only persist data where it can be managed in a known location.

 

Stats

Contributed by: Michael Crosby – Link to PR

Containers are cool. They allow you to package and run your applications in a portable way and let you set resource constraints on your applications to make sure that no one application can take over an entire machine. In order to choose accurate resource limits for your applications, profiling is required to collect this information.

In Docker 1.5, we introduce a new stats API endpoint and CLI command that will stream live CPU, memory, network IO and block IO for your containers. You can use the API endpoint to build tools that feed live resource information for your containers into your existing monitoring solutions, or build live dashboards directly using the API.

Specify the Dockerfile to use in build 

Contributed by: Doug Davis – Link to PR

This is possibly one of the most requested feature in the past few months: the ability to specify the file to use in a docker build rather than relying on the default Dockerfile.  docker build -f allows you to define multiple Dockerfiles in a single project and specify which one to use at build time. This can be helpful if you require separate Dockerfiles for testing and production environments.

 

Open Image Spec

Contributed by: Josh Hawn – Link to PR

As we continue to grow the contributor community to the Docker project, we wanted to encourage more work in the area around how Docker constructs images and their layers. As a start, we have documented how Docker currently builds and formats images and their configuration. Our hope is that these details allow contributors to better understand this critical facet of Docker as well as help contribute to future efforts to improve the image format. The v1 image specification can be found here.

Source: https://blog.docker.com/2015/02/docker-1-5-ipv6-support-read-only-containers-stats-named-dockerfiles-and-more/

 

Share If You Care

What do you think about this?