简体   繁体   中英

libcontainer vs Docker vs OCF vs runc?

I'm trying to understand the Docker world a little better, and can't quite seem to wrap my brain around the differences between these. I believe that OCF is an emerging container standard being endorsed by OpenContainers , and I believe that Docker is set to be the first reference implementation of that standard. But even then, I have concerns that the Google Gods don't seem to be providing answers for:

  • What exactly is the OCF "standard"? Just a written document? A written API? A compiled C lib?
  • What are some examples of specific items governed by this standard? I guess without really understanding what a " container " is, its hard for me to understand what a governing standard for containers even addresses.
  • How/where do runc and libcontainer fit into the Docker/OCF equation?

The Open Container Format (OCF) specification is a written document (or set of documents) defining what a "standard container" is, in terms of filesystem, available operations and execution environment. The document seems to be backed up with Go code. This specification is currently (July 2015) a work-in-progress.

Runc is an implementation of the standard. At the time of writing, it is basically a repackaging of libcontainer .

Docker uses libcontainer/runc, but adds a lot of tooling and features on top, such as volumes, networking and management of containers.

There is more information on the Docker blog and Open Containers site .

If you're just getting started with containers, I would start with Docker and look into the other projects later once you understand how containers work.

Just in case anyone accidentally finds comes across this old thread like I just did: this specification is no longer called OCF, it is now known as the "Open Container Initiative Runtime Specification", the link above still works though it now sends you to https://github.com/opencontainers/runtime-spec . There is a different OCF spec around (Open Connectivity Foundation).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM