OCI is an open source container format meant to smooth the differences among container formats, including Docker‘s. In that sense, Docker being compliant with OCI isn’t exactly mind-blowing. The company’s own blog post today admits that users won’t notice anything that happened.
Docker Engine 1.11 also has the usual passel of bug fixes and features, of course — round-robin load balancing for containers being one of them. But the inclusion of runc, the OCI’s runtime for spawning containers, is “a huge step toward allowing Engine restarts/upgrades without restarting the containers, improving the availability of containers,” writes Arnaud Porterie, a Docker senior engineering manager, in the blog.
That’s possible because OCI splits container-executing code into modular pieces. Docker Engine will continue to use runc as a default runtime and executor, but future versions of the software will let you plug in any executor you want.
That means Docker Engine could become separate from the software that’s running containers for you, which would mean Engine could restart while the containers remain available. “This is probably one of the most requested features by Docker users,” Porterie writes.