VOOZH about

URL: https://thenewstack.io/cri-o-project-run-containers-without-docker-reaches-1-0/

⇱ CRI-O, the Project to Run Containers without Docker, Reaches 1.0 - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2017-10-17 09:44:06
CRI-O, the Project to Run Containers without Docker, Reaches 1.0
news,
Containers / Kubernetes

CRI-O, the Project to Run Containers without Docker, Reaches 1.0

Oct 17th, 2017 9:44am by Susan Hall
👁 Featued image for: CRI-O, the Project to Run Containers without Docker, Reaches 1.0
Feature image via Pixabay.

The open source projec­­­­­t, CRI-O, formerly known as OCID (simply OCI daemon), which enables the Kubernetes open source container orchestration engine to run containers without relying on the default Docker runtime, has reached 1.0 status. ­­

CRI-O allows users to launch and manage any Open Container Initiative (OCI)-compliant containers at scale directly from Kubernetes without extra code or tooling.

So far, CRI-O works with runc and Intel’s Clear Containers as the container runtimes but is designed to allow any OCI-compliant runtime to be plugged in.

The project “opens the door for plugging alternative container runtimes in the kubelet more easily, instead of relying on the default docker runtime. Those new runtimes may include virtual machines-based ones, such as runv and Clear Containers, or standard Linux containers runtimes like rkt,” Red Hat senior engineer Antonio Murdaca wrote on the Project Atomic blog.

As originally envisioned, the project would enable Kubernetes to be the complete lifecycle manager for containers, without any need for any branded container engine.

The founding team wanted to enable a kubelet to communicate with Docker, CoreOS’ rkt, China-based container provisioning platform Hyper.sh, CRI-O and others.

“There’s a bunch of different container runtimes, all interested in communicating with Kubernetes. So instead of trying to build every single interface for each container runtime into the kubelet itself, we’re creating a more abstract interface that other people can plug into, without being directly involved in Kubernetes upstream work,” Brandon Philips, CoreOS chief technology officer, told The New Stack previously about the Container Runtime Interface (CRI). It’s a plugin interface that gives kubelet the ability to use different OCI-compliant container runtimes without the need to recompile Kubernetes.

The CRI-O project resides in the Kubernetes incubator and involves contributions from IBM, Intel, SUSE and others. It supports the OCI format and the OCI runtime, but it’s not part of the OCI project per se.

Mismatched Versions

The project has been viewed as evidence of a split in the container ecosystem, although those involved in it maintain it’s not a “Docker fork.” But tension within the community rose when Docker made its own orchestration engine, Docker Swarm, a part of its Docker Engine.

“Docker was heavily integrated into Kubernetes, and vice versa. They relied heavily on specific versions and that was kind of a rough interface,” said Joe Brockmeier, senior evangelist, Linux containers at Red Hat.

“They both moved at different paces. A new release of Docker might break Kubernetes … With Docker trying to innovate and change things, it became [clear] that there needed to be a way for Kubernetes to talk to the container runtime in a way that allowed the container runtimes to move at their own pace while remaining compatible with Kubernetes and allowing Kubernetes to work at its own pace.”

Red Hat’s Daniel Walsh wrote in the release blog post: “We felt at the time that the upstream Docker project was changing too quickly and was making Kubernetes unstable. We felt that perhaps by simplifying the container runtime we could do better.”

The project’s goals, he said, were to be lighter weight than other container runtimes, to have a smaller footprint, and have better performance for Kubernetes than other container runtimes.

CRI-O can pull images from any container registry, and handles networking using the Container Network Interface (CNI) so that any CNI-compatible networking plugin should work with it.

When Kubernetes needs to run a container, the Kubelet speaks to the container runtime, with CRI-O interface. It will speak to the CRI-O daemon, then speak to the container image library and storage library to pull an image and get it ready, set it up on storage, then coordinate with runc (or another OCI-compliant runtime) to start that image. When Kubernetes needs to stop the container, CRI-O handles that, too, Brockmeier explained.

“Why is this interesting? And our response is that in a way it’s not. It’s boring,” he said. “It’s something as a user you don’t have to worry about. The people who want to do container orchestration don’t really care at that level. If you’re running a script on a Linux box, you don’t really care if the individual box is set up to use Kornshell or Bash, you’re going to write a script to run across all of them. If you have an OCI-compatible container, you just care that Kubernetes can run it.

“Docker has innovated and added a bunch of stuff that’s way above that, but for Kubernetes, is way overkill. It runs the risk of complicating running containers for Kubernetes.”

Not a Developer Tool

In a blog post, Brockmeier explained that CRI-O is not a developer tool for building images.

While CRI-O does include a command-line interface (CLI), it’s provided mainly for testing CRI-O and not really as a method for managing containers in a production environment.

It’s been focused on the recently released Kubernetes 1.7 because that’s the version the next release of OpenShift is based on. Do some testing with OpenShift online, and if that goes well, may see it on OpenShift online in production. It will be a technical preview in OpenShift 3.7.

The first version of CRI-O is based on Kubernetes 1.7, because that’s the version the next release of OpenShift is based on, he said. Red Hat plans to do some testing with OpenShift online, and if that goes well, customers may see it on OpenShift Online in production. It will be a technical preview in OpenShift 3.7, he said. Future versions of CRI-O will match the version number of Kubernetes that they support.

Though the project has its roots with Red Hat and Google, it’s encouraging other potential contributors to get involved.

TRENDING STORIES
Susan Hall is the Sponsor Editor for The New Stack. Her job is to help sponsors attain the widest readership possible for their contributed content. She has written for The New Stack since its early days, as well as sites...
Read more from Susan Hall
SHARE THIS STORY
TRENDING STORIES
CoreOS, Google and Red Hat are sponsors of The New Stack.
TNS owner Insight Partners is an investor in: Docker.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.