Skip to main content

Containers

📄️ What is a Container?

Container technology has revolutionized the way applications are developed, deployed, and managed, offering a lightweight alternative to traditional virtual machines (VMs). Containers allow developers to package an application along with its dependencies (libraries, binaries, and configuration files) into a single package or "container" that is platform-independent. This document provides an overview of container technology, including its core concepts, benefits, popular tools, and best practices. Containers are a form of operating system (OS) virtualization that enable multiple isolated user-space instances to run on a single host OS. Each container shares the host OS kernel, but has its own file system, process space, and network stack. This allows containers to run in isolation, without interfering with other containers or the host OS.

📄️ Docker

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from each other and bundle their own software, libraries, and configuration files; they can communicate with each other through well-defined channels. For platform engineering, Docker provides a robust, flexible foundation for developing, shipping, and running applications. This documentation outlines how Docker can be leveraged in platform engineering, covering key concepts, benefits, use cases, and best practices.