For Google, containers offer a very high level of "resource isolation," McLuckie said, which ensures that an application running on a server doesn't get slowed down by other applications running on that same server.

Because of this resource isolation, containers offer very high levels of predictability and quality of service. "Low-priority jobs won't interfere with high-priority jobs and high-priority jobs will always have enough resources to function," McLuckie said.

One of them is Kubernetes, an open-source container manager for running containers across multiple servers, allowing the applications within containers to communicate amongst themselves and with the outside world.

It has also released an open-source tool that captures fine-grain statistics on resource usage for containers. Called cAdvisor, it tracks metrics in real time and saves them as records.

The company is also expanding its own Docker cloud services. Last month, Google started offering managed instances of Docker, in preview mode, as a service from the Google Compute Engine, the Google infrastructure service. Organizations could spin up Docker images on Google and then fill them with their own applications.

Now, Google is also offering to run containers on the company's Google App Engine platform service. This lets developers create their own containers and fill them with their applications, and then upload them to Google to run.

Like a virtual machine, a Docker container can hold an application, freeing the developer from worrying about writing to the underlying system software. Unlike full virtual machines, though, a Docker container does not include a full OS, but rather shares the OS of its host -- in Docker's case, Linux.