Containers

The software enabling this technology comes in many forms, with Docker as the most popular. The recent rise in popularity of container technology within the data center is a direct result of its portability and ability to isolate working environments, thus limiting its impact and overall footprint to the underlying computing system. To understand the technology completely, you first need to understand the many pieces that make it all possible. Join us this weekend as we learn about Containers.
Before we get started, many ask what the difference is between a container and virtual machines? Editor Petros Koutoupis explains: Both have a specific purpose and place with very little overlap, and one doesn't obsolete the other. A container is meant to be a lightweight environment that you spin up to host one to a few isolated applications at bare-metal performance. You should opt for virtual machines when you want to host an entire operating system or ecosystem or maybe to run applications incompatible with the underlying environment.

Part I of this Deep Dive on containers introduces
the idea of kernel control groups, or cgroups, and the way you can isolate,
limit and monitor selected userspace applications. Here,
I dive a bit deeper and focus on the next step of process
isolation—that is, through containers, and more specifically, the Linux
Containers (LXC) framework.

Everyone's heard the term, but what exactly are containers?
The software enabling this
technology comes in many forms, with Docker as the most popular. The
recent rise in popularity of container technology within the data center is a direct result of its
portability and ability to isolate working environments, thus limiting
its impact and overall footprint to the underlying computing system.
To understand the technology completely, you first
need to understand the many pieces that make it all
possible.

The recent rise in popularity of container technology within the data center is a direct result of its portability and ability to isolate working environments, thus limiting its impact and overall footprint to the underlying computing system. To understand the technology completely, you first need to understand the many pieces that make it all possible. With that, may we introduce Linux Journal's Container issue.
Featured Articles in this Issue Include:

I recently spent some time chatting with Craig McLuckie, CEO of the
leading Kubernetes solutions provider Heptio. Centered around both developers
and system administrators, Heptio's products and services simplify and
scale the Kubernetes ecosystem.
Petros Koutoupis: For all our readers who have yet to hear of the
remarkable things Heptio is doing in this space, please start by
telling us, who is Craig McLuckie?

Well, here we are. Kubernetes turns four years old this month—technically, on June 7, 2018—the very same platform that brings users and data center administrators scalable container technologies. Its popularity has skyrocketed since its initial introduction by Google. Celebrating the project’s birthday is not the only thing making the headlines today. Amazon recently announced the general availability of its Elastic Container Services for Kubernetes (EKS), accessible via Amazon Web Services (AWS).

Kubernetes is an open-source cluster manager that makes it easy to run Docker and other containers in production environments of all types (on-premises or in the public cloud). What is now an open community project came from development and operations patterns pioneered at Google to manage complex systems at internet scale.

As you might expect, this week's LinuxCon and ContainerCon 2016, held in Toronto, is heavy on the benefits and pitfalls of deploying containers, but several vendors aim to come to the rescue with flexible tools to manage it all.

Lightweight virtual containers with PID 1.
In this article, I demonstrate a method to build one Linux system
within another using the latest utilities within the systemd suite of
management tools. The guest OS container design focuses upon BusyBox and
Dropbear for the userspace system utilities, but I also work through
methods for running more general application software so the containers are
actually useful.