What Does Docker 1.0 Mean For The Community?

This morning was an exciting day for Docker aficionados, Docker 1.0 was just released!

At the surface, the reason this is so important is that Docker is officially and for the first time being suggested for production workloads now. Before 1.0, Docker would tell you not to run Docker in production. They said that things might break between upgrades and that APIs would change. But now they are set in stone for backwards compatibility and upgrading (until Docker 2.0 of course).

So what does this mean for the community? One of the biggest improvements wasn't on the codebase itself but in the Docker Index (now the Docker Hub). But before I go into those changes, let's look at the numbers…

Progress Update

Thank You
Docker Ecosystem

But what has changed under the hood? Let's review.

What's Changed?

New Docker Index… the Docker Hub

In a not-so-subtle ode to GitHub, today the Docker Hub has been released– hub.docker.com

Screen Shot 2014-06-09 at 11.39.25 AM

I have to say that I LOVE the new design. It is equal parts minimalistic and informative. And the container search feels like it returns results that are much easier to judge.

Screen Shot 2014-06-09 at 11.40.18 AM

One of the other neat things is how many new "official" Docker containers there are. MySQL, MongoDB, Node, MySQL are just a few. A docker run wordpress gets you the official Docker WordPress container.

Screen Shot 2014-06-09 at 12.02.34 PM

One of the biggest questions I have is how these officials containers are being built. Unlike Trusted Images, there are no links to the Dockerfiles on the Hub that produced these images. I am sure that will be coming soon as the Hub is brand new.

Oauth for Docker Hub

One of the most exciting parts for the Docker ecosystem is the addition of an Oauth API. This will allow third party apps to tie into the Docker Hub to pull public and private container information directly into an app. For PaaSes built on Docker (like Flynn and Deis, this is going to allow greater flexibility. For CI/CD built on Docker (like Shippable and Drone) this is going to enable a MUCH more powerful workflow.

Docker's power has always been on the social/collaborative side of linux containers, and with Oauth support, this is going to supercharge the community and ecosystem growth.

For those itching to get started, you might have to wait a little longer. Here is a quote from the Oauth page… "You will need to register your application with docker.io before users will be able to grant your application access to their account information. We are currently only allowing applications selectively."

Dockerfile adds COPY instruction

In the code itself, nothing major has changed between Docker 0.11 and 1.0, but there were a few minor changes, like the addition of the COPY instruction.

The new COPY instruction copies files and folders as-is from the build context.

COPY <src> <dest>

One the surface, COPY is a lot like ADD but without the ability to grab things from the Internet. Also, ADD will unzip local tar files when moving them and COPY doesn't try to be so smart.

ADD, COPY and volumes retain permissions

The Dockerfile ADD and COPY commands now do a better job with permissions.

Pause and un-pause running containers

Instead of stopping containers, you can now pause for better resource scheduling. I will have to do more research on the difference between pause and stop and followup with a new blog post soon.

XFS support

Increasing the number of filesystems supported will help Docker become ubiquitous. XFS is an exciting next step for new storage and filesystem options because of its snapshotting capabilities.

Port reservation from IANA

Ever wonder who is in charge of the /etc/services file? If you don't know the IANA (Internet Assigned Numbers Authority) is responsible for the global coordination of the DNS Root, IP addressing, and other Internet protocol resources. They are the guys who dole out official port numbers for IP protocols. And now Docker's API ports are official: 2375 for HTTP and 2376 for HTTPS.

For those who have struggled with port conflicts between CrashPlan and Docker on their Mac, this is a godsend and the best news of the day. Though boot2docker has gotten around this port conflict in recent releases, it has always been a sore point for those of us using Docker on a Mac.


It is incredible to think that the Docker project is just 15 months old. So much progress and so much adoption over this amount of time. It is clearly resonating with the DevOps community and making tidal waves in terms of both innovation and adoption. It leaves you wondering what the landscape will look like in the next 15 months.

If I were to make a prediction, I think that the tooling for building apps on top of Docker is the next big area to see explosive growth. It is still not easy, and that leaves an opportunity for people to keep expanding the ecosystem with new ideas.

I want to extend a big congratulations to Solomon Hykes and his team for creating a technology that is changing all our lives for the better. Thank you guys!

Did you like what you read?

Stay on the bleeding edge with the weekly CenturyLink Labs newsletter featuring Docker tutorials, news, jobs, and much more.

Lucas Carlson

Former Chief Innovation Officer, CenturyLink Labs
Lucas Carlson came to CenturyLink when his startup AppFog was acquired in June 2013. At CenturyLink he served as the Chief Innovation Officer and founded the CenturyLink Innovations Lab. He left CenturyLink in July of 2015 to pursue a writing career.
  • http://grzegorzgraczyk.pqstudio.pl/ Grzegorz Graczyk

    You're doing such a great job with all those articles. Thanks! :)