Inc. Company • Operating System-Level Virtualization • A tool ▪ Package an application & its dependencies in a virtual container ▪ Implements a high-level API to provide lightweight containers (processes in isolation) • A most famous & popular container technology in the 21st century • Launch of Docker @ PyCon Lightning Talk, March 13, 2013 ▪ Title: The future of Linux Containers • Solomon Hykes started internal Docker in dotCloud(PAAS company) • Repository: https://github.com/docker, Website: https://www.docker.com/, Documentation: https://docs.docker.com/
into standardized units • Container image ▪ A lightweight, stand-alone, executable package of a piece of software • Include: code, runtime, system tools, system libraries, settings • Isolate software from environment’s surroundings • Container Introduction • What is Container • Container technology • Comparing Containers & VM • Architecture • Performance Ref: https://www.docker.com/what-container#/package_software
• Container Introduction • What is Container • Container technology • Containers vs VM • Architecture • Performance Ref: https://www.docker.com/what-container#virtual_machines
What is Container • Container technology • Containers vs VM • Architecture • Performance • Start & Stop Time • Benchmarks • Applications Ref: https://www.slideshare.net/KentoAoyama/an-updated-performance-comparison-of-virtual-machines-and-linux-con tainers-73758906 Perf. Category Docker KVM CPU Good Bad+ Memory Bandwidth (sequential) Good Good Memory Bandwidth (Random) Good Good Network Bandwidth Acceptable+ Acceptable+ Network Latency Bad Bad Block I/O (sequential) Good Good Block I/O (RamdomAccess) Good (Volume Option) Bad Comparing to native performance Equal Good A little worse Acceptable Worse Bad
What is Container • Container technology • Containers vs VM • Architecture • Performance • Start & Stop Time • Benchmarks • Applications Ref: https://www.slideshare.net/KentoAoyama/an-updated-performance-comparison-of-virtual-machines-and-linux-conta iners-73758906 Another research from IBM in 2014: https://domino.research.ibm.com/library/cyberdig.nsf/papers/0929052195DD819C85257D2300681E7B/$File/rc254 82.pdf Perf. Category Docker KVM Default Net=Host Volume Redis (Request/sec) Acceptable Good - Acceptable Redis (Latency) Acceptable Good - Acceptable MySQL (Transations/sec) Acceptable - Good Bad MySQL (Latency) Acceptable - Good Bad Comparing to native performance Equal Good A little worse Acceptable Worse Bad
• Scalability • Lightweight • Efficiency • Speed • Density • Fast deployment: shipping, testing, and deploying code quickly • Environment consistency • Significantly reduce the delay between writing code and running it in production Ref: https://docs.docker.com/get-started/
source containerization technology ▪ Combined with • workflow for building • containerizing applications • A client-server application • Include these major components: ▪ Server: A long-running program called daemon process ▪ REAT API: Specifies interfaces programs can talk & instruct to daemon ▪ Client: A command line interface (CLI) Client (Docker CLI) Docker Engine • Docker Overview • Docker Engine • Docker Architecture • Docker Objects • The underlying technology
read-only template with instructions for creating a Docker container • CONTAINERS ▪ The instance of an image ▪ Can create, start, stop, move, or delete a container using Docker API or CLI • Docker Overview • Docker Engine • Docker Architecture • Docker Objects • The underlying technology
Provide the isolated workspace • Control groups (Cgroups) ▪ Limits an application to a specific set of resources • Union file systems (UnionFS) ▪ Provide the building blocks for containers ▪ Operate by creating layers ▪ Making UnionFS very lightweight and fast ▪ Docker Engine can use multiple UnionFS variants • Including AUFS, btrfs, vfs, and DeviceMapper • Container format ▪ A wrapper combines namespaces, Cgroups, & UnionFS into Docker Engine ▪ default container format is libcontainer • Docker Overview • Docker Engine • Docker Architecture • Docker Objects • The underlying technology