8 minutes
Linux® containers (LXCs) are a type of container based on the Linux operating system. They contain all the files necessary to run a specific process or processes across various different compute environments and pipelines.
Today, Linux containers are vital tools in modern software development, allowing applications to be easily packaged along with all their dependencies. Many modern applications, such as Docker, Kubernetes, Red Hat® OpenShift®, Microsoft Azure and others, use Linux containers for their added efficiency, portability and security features.
Like all other applications and software tools built on Linux, Linux containers are open source, meaning their source code is free and available to anyone to use. Linux containers and their many features are part of Linux distributions that a global community of developers maintain and update.
Linux is one of the most popular open source operating systems (OS) in the world. Invented in 1991 by Linus Torvalds, Linux quickly became a widely used alternative to proprietary operating systems, such as Windows and macOS. The Linux OS is based on the Linux kernel, a computer program that gives users control over computer system components, such as networks, CPU usage, drivers, file systems and more.
In the years since its invention, the Linux kernel has become critical to Linux distributions, which are open source versions of the Linux OS that are regularly released to users. Today, Linux powers a wide range of modern devices and applications and is used by some of the largest tech, software and computing companies in the world.
Containers are executable units of software that contain application code along with that code’s libraries and dependencies, allowing the code to run in various ecosystems. Containers rely on many components for their functionality. For example, binary files are key components to container functionality, enabling individual files and their application code to run in any compute environment.
Containers take advantage of a form of operating system virtualization in which features of the OS kernel are used to isolate processes and control the amount of CPU, memory and disk space applications can access. Containers are more portable and resource-efficient than virtual machines (VMs) and have become essential in modern cloud-native applications, such as Netflix, Spotify, AirBnB and more.
Industry newsletter
Stay up to date on the most important—and intriguing—industry trends on AI, automation, data and beyond with the Think newsletter. See the IBM Privacy Statement.
Your subscription will be delivered in English. You will find an unsubscribe link in every newsletter. You can manage your subscriptions or unsubscribe here. Refer to our IBM Privacy Statement for more information.
Linux containers run applications in isolated environments on a single host system that uses Linux as its OS. At the heart of Linux container functionality is a command line, also known as a shell, that gives users a text-based interface that controls the Linux system.
Linux containers are similar to virtual machines (VMs) in that both are widely used methods of virtualization that underpin cloud computing and the distribution of most modern business applications. However, there are some important differences worth noting.
While VMs virtualize hardware and IT infrastructure, Linux containers virtualize only a system’s OS, making them a more lightweight and portable option for running applications. Also, the methods of virtualization that VMs and Linux containers rely on are slightly different. In a VM, a software component called a hypervisor provides the necessary resource isolation required for virtualization; in a Linux container, this is achieved through a container image.
These five key features of Linux containers enable their unique functionality.
VMs must have their own OS and kernel to function. However, containers can leverage the Linux kernel of the host OS they are running on, making them lighter and faster to boot and run than VMs.
Linux containers’ isolation leverages a Linux kernel feature called Linux kernel namespaces that enable certain resources to be isolated for different processes. For example, the process ID namespaces (PID namespaces) are used to isolate processes in the same container so they don’t affect each other.
Cgroups, an abbreviation of control groups, is a resource management tool that lets users group processes hierarchically and then control which resources they have access to. For example, daemons (processes that control container lifecycles) are frequently controlled by cgroups.
Container images are packages of software that contain everything needed to run an application, including code, runtime, system libraries and system tools. Container images make the applications that they support highly scalable and capable of running in any environment without manual setup.
The container runtimes are software that allows containers to function within a host system, such as Linux. Container runtimes are used to manage the container’s lifecycle. Using application programming interfaces (APIs) that allow applications to communicate with each other, container runtimes act as an intermediary between a container orchestrator, like Kubernetes, that manages the containerized application and the host system it is being run on.
The concept of containerization has existed since the 1970s, when Unix introduced a system known as chroot. Unix, a popular OS, allowed users to control hardware and software resources on a computer or electronic device. Chroot was unique in that it allowed for the isolation of processes on a system, something that was critical for container technologies.
While other technologies (for example, AIX Workload Partitions and FreeBSD jails) have offered similar process isolation and system virtualization as running containers, none have achieved as much widespread use. In 2013, the introduction of Docker, an open source container management platform, supercharged containers’ dominance in the modern application ecosystem, making it easier to create, manage and deploy containers than ever before.
The market domination of containers in the modern application market can’t be overstated, especially for cloud-native and microservices apps. According to a recent report, the global market for containers was estimated at USD 5.85 billion last year. It is expected to grow at a compound annual growth (CAGR) rate of 33% over the next 5 years.1
Application containers are containers that run single processes and workloads, enabling users to create and delete containers without impacting other processes or app functionality. Application containers (and specifically Docker) were critical in enabling the applications so many users depend upon today—such as Facebook, MS Word, Zoom and more—to flourish. While newer, open source Linux kernel technologies exist, such as Ubuntu and system-nspawn, Linux containers are still widely used and have many benefits.
As an open source project, Linux containers are continually evolving, shaped by a global community of developers who constantly add features and improve functionality and user experience. Here are some of their most popular benefits:
Because of their many features and benefits and the success of Linux’s open source distributions model, Linux containers are deployed across many industries and have many use cases. Here are some of the most popular.
Microservices architecture is a cloud-native architectural approach to software development where a single application is built from smaller, independent components.Today, a microservices approach is widely used in many software development environments because of its speed, scalability and flexibility.
Linux containers are ideal for microservices architectures, making it easy for developers to deploy individual microservices that can be linked together to create large, complex applications.
DevOps and continuous integration/continuous delivery (CI/CD) are a set of practices used by software developers to automate software development and delivery.
Linux containers enhance DevOps and CI/CD in several important ways. First, Linux containers help ensure the consistency of production environments across the whole CI/CD pipeline so that by the time a piece of software is released, it functions as intended.
Second, they automate tasks in the building, testing and deploying of applications, helping developers save time and resources. Finally, Linux containers are more lightweight than other kinds of virtualization, which helps DevOps teams lower the cost of the IT infrastructure they need to meet their deadlines.
Most modern enterprises need to deploy their core business applications across a blend of private and public cloud platforms, an approach known as hybrid cloud architecture.
Linux containers are ideal for hybrid cloud environments that blend public and private clouds because of their portability and resource utilization. Linux containers can help improve efficiencies in hybrid cloud environments, significantly boost app performance and minimize operational costs.
As part of ongoing digital transformation initiatives, many enterprises need to develop and improve the way their apps function, constantly seeking new technologies and tools that can give them a market advantage.
According to the IBM Institute of Business Value, 83% of executives have made modernizing their applications central to their business strategy. Linux containers speed this effort by taking applications built on legacy code and infrastructure and isolating their dependencies and requirements so they can be easily and effectively deployed in modern environments.
Red Hat OpenShift on IBM Cloud is a fully managed OpenShift Container Platform (OCP).
Container solutions run and scale-up containerized workloads with security, open source innovation, and rapid deployment.
Unlock new capabilities and drive business agility with IBM’s cloud consulting services. Discover how to co-create solutions, accelerate digital transformation, and optimize performance through hybrid cloud strategies and expert partnerships.
1. App market size and trends (2024), Grandview Research, 2024