The Open Containers Initiative: Software Containers vs. Shipping Containers

The Open Containers Initiative: Software Containers vs. Shipping Containers

Like in the physical world of shipping containers, the OCI container image and runtime formats are critical because they allow for infrastructure and investment to happen among a bunch competing and collaborating entities. Vendors can invest in building an ecosystem of tools, orchestrators, registry servers, etc. Users can extract value from the ecosystem, move containers where

Container Portability: Part 2

Container Portability: Part 2

Code Portability Today In Container Portability: Part 1: A Brief History in Code Portability, we explored the genesis of code portability and visited structured computer organization to highlight the six commonly found levels in modern computing. Revisiting the six layers – nobody debates the portability of the upper two layers – Application Programmers know that C

Container Portability: Part 1

Container Portability: Part 1

A Brief History in Code Portability Do you know why you can take a Python program and run it on any computer that has a Python interpreter on it? Well, because the computer industry has made a huge amount of investment into providing portability over the last 70 years. In the beginning, computers didn’t have

Why Portability is Not the Same Thing as Compatibility

Why Portability is Not the Same Thing as Compatibility

The Container Host *is* the Container Engine, and Container Image Compatibility Matters Have you ever wondered, how are containers are so portable? How it’s possible to run Ubuntu containers on CentOS, or Fedora containers on CoreOS? How is it that all of this just magically works? As long as I run the docker daemon on

Building an OpenShift Lab: Why I Used Atomic Host

Building an OpenShift Lab: Why I Used Atomic Host

RHEL Atomic Host requires a lot less configuration than a full RHEL Server installation. The docker daemon is installed and configured, storage is already setup to use device mapper on a dedicated LV, and the default tools necessary to install OpenShift are already installed. And as a bonus, the installation on my laptop in KVM virtual machines is about 10X as fast as installing a full RHEL installation.

Documenting the Experience: Moving Crunchtools to Containers/OpenShift: Part 1

Documenting the Experience: Moving Crunchtools to Containers/OpenShift: Part 1

Background Last week, I was in Westford, MA for an engineering meeting. I was chatting with one of our Base Runtime engineers Petr Sabata, and an interesting subject came up. He joked, “I understand containers, I know how to use them, but I still haven’t converted any of *my* services to containers.” This got me

Container Myths Debunked (Redux)

Container Myths Debunked (Redux)

Background So lately, I have been hearing a lot about containers vs. virtual machines and I wanted to get in on the action. I saw the a recap of Alex Polvi’s session at OpenStack Silicon Valley and I was inspired. I agree with Alex, and for fun, I wanted to state all of his points

Meeting the CIS Docker Benchmark with RHEL7 and RHEL Atomic

Meeting the CIS Docker Benchmark with RHEL7 and RHEL Atomic

Background As part of my blog series on Running Docker in Production, I have been writing about Docker security. Coincidentally, the CIS Docker 1.6 Benchmark v1.0.0 was released at the end of May and I thought it would be fun to tackle this new security benchmark. The CIS Docker Benchmark is meant to be a

Running Docker in Production

Running Docker in Production

Background This blog series is focused on programmers, systems administrators, and application administrators that want to run Docker in production. The subject matter ranges from workflow and practical guidelines to security and best practices in manageability.   A Practical Introduction to Docker Containers A Practical Introduction to the Docker Registry Server Core Builds in the