Docker and one-time archrival, CoreOS, producer of the Rocket runtime alternative to Docker, have joined hands in backing a common container specification. The two, along with 18 other companies, have founded the Open Container Project under the Linux Foundation.
The move was announced by both companies on the eve of DockerCon, Docker's annual developer conference, which runs Monday and Tuesday in San Francisco. Linux containers have gained popularity with developers working on mobile and Web applications because they make it easy to produce, move around, and then update micro-services as parts of larger applications.
CoreOS became an advocate of a standard container specification after its breakaway from the Docker open source project late last year. CoreOS left the fold in November, protesting that Docker's ambitions as a company were dictating the priorities of the open source project. Docker CTO Solomon Hykes shot back that the project had many enthusiastic outside contributors, even without CoreOS.
Peace now reigns in the (Silicon) Valley. Docker and CoreOS agree that Docker will donate its software container format and its runtime to the Open Container Project. Docker, with its popularity among developers, had a de facto standard in its Docker Engine, which formats Docker containers in layers with well-defined connection points.
CoreOS had proposed an AppContainer specification as an alternative, but, with a fraction of Docker's marketshare, it had little prospect of adoption beyond the limited community of developers seeking an embeddable approach to container operations. Docker, in addition to its Container Engine, has evolved into a developers' platform with workflows and tools that aid in container construction and deployment.
"We shouldn't still be arguing about the width of the railroad tracks anymore," said Docker CEO Ben Golub in an interview. "We should be building faster trains."
"We'll continue to offer the Rocket runtime," said CoreOS CEO Alex Polvi. "But it will share a common specification with Docker," and both systems' runtimes will conform to the spec, Polvi said in an interview. After a container image is built with software files, it still needs a specified environment in which it can run -- its runtime. Under the Open Container Project, both the way the image is built and the way the runtime is set would be shared across Linux container types.
Cloud Foundry, a major open source project which produces a cloud development environment, favors neither Docker nor Rocket. Instead it adopts a flexible approach to determining the nature of the Linux container and then setting its own runtime.
Other backers of the container truce included: Google, Amazon Web Services, Red Hat, EMC, VMware, Pivotal, IBM, HP, Goldman Sachs, Microsoft, Huawei, Intel, Joyent, Mesosphere, and Rancher Labs.
Although they were previously announced supporters of Docker, spokesmen for Google and Red Hat gave CoreOS some credibility by endorsing its aims and acknowledging a need for attention on overlooked container priorities. Several Docker backers said CoreOS's notion of a small, lightweight, embeddable container runtime would remain a goal, no matter how successful Docker became as the developers' first choice.
[Want to learn more about CoreOS's split from Docker? See Docker Founder Must Right His Ship.]
Polvi acknowledged cooperation on a specification was in everyone's interest, given the broad acceptance Docker's standard has gained. "It's always best to start with the de facto state," he said, but a common specification still allows variations in different companies' implementations, as long as they meet the spec.
Docker spokesmen noted that the Docker image format has been downloaded 500 million times in the past year. There are 45,000 existing projects on GitHub and DockerHub that are listed as using Docker containers.