0% found this document useful (0 votes)
12 views4 pages

Docker

Docker is a software platform that enables the building, testing, and deployment of applications using OS-level virtualization through containers, which package all necessary components for software to run. It provides a lightweight, secure, and efficient alternative to virtual machines, allowing for easy scaling and management of applications. Kubernetes is an open-source container orchestration platform that automates the deployment and management of containerized applications, facilitating a container-based infrastructure in production environments.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

Docker

Docker is a software platform that enables the building, testing, and deployment of applications using OS-level virtualization through containers, which package all necessary components for software to run. It provides a lightweight, secure, and efficient alternative to virtual machines, allowing for easy scaling and management of applications. Kubernetes is an open-source container orchestration platform that automates the deployment and management of containerized applications, facilitating a container-based infrastructure in production environments.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Docker is a software platform that allows you to build, test, and deploy

applications quickly. Docker is a set of platform as a service products that use OS-
level virtualization to deliver software in packages called containers. The service
has both free and premium tiers.

Docker packages software into standardized units called containers that have
everything the software needs to run including libraries, system tools, code, and
runtime. Using Docker, you can quickly deploy and scale applications into any
environment and know your code will run. The software that hosts the containers
is called Docker Engine. It was first released in 2013 and is developed by Docker,
Inc.
Docker containers can be used as a core building block creating modern
applications and platforms. Docker makes it easy to build and run distributed
microservices architecures, deploy your code with standardized continuous
integration and delivery pipelines, build highly-scalable data processing systems,
and create fully-managed platforms for your developers.

A container is a standard unit of software that packages up code and all its
dependencies so the application runs quickly and reliably from one
computing environment to another.
A Docker container image is a
i) lightweight,
ii) standalone,
iii) executable package of software
iv) Includes everything needed to run an application: code, runtime,
system tools, system libraries and settings.

Container images become containers at runtime and in the case of Docker


containers – images become containers when they run on Docker Engine.
Available for both Linux and Windows-based applications, containerized
software will always run the same, regardless of the infrastructure.
Containers isolate software from its environment and ensure that it works
uniformly despite differences for instance between development and
staging.

Docker containers that run on Docker Engine:


• Standard: Docker created the industry standard for containers, so they
could be portable anywhere.
• Lightweight: Containers share the machine’s OS system kernel and
therefore do not require an OS per application, driving higher server
efficiencies and reducing server and licensing costs
• Secure: Applications are safer in containers and Docker provides the
strongest default isolation capabilities in the industry

How Docker works


Docker works by providing a standard way to run your code. Docker is
an operating system for containers.
Similar to how a virtual machine virtualizes (removes the need to directly
manage) server hardware, containers virtualize the operating system of a
server. Docker is installed on each server and provides simple commands
to build, start, or stop containers.

CONTAINERS
Containers are an abstraction at the app layer that packages code and dependencies together.
Multiple containers can run on the same machine and share the OS kernel with other
containers, each running as isolated processes in user space. Containers take up less space
than VMs (container images are typically tens of MBs in size), can handle more applications
and require fewer VMs and Operating systems.

VIRTUAL MACHINES
Virtual machines (VMs) are an abstraction of physical hardware turning one server into
many servers. The hypervisor allows multiple VMs to run on a single machine. Each VM
includes a full copy of an operating system, the application, necessary binaries and libraries –
taking up tens of GBs. VMs can also be slow to boot.
Kubernetes
Kubernetes (also known as k8s or “kube”) is an open source container
orchestration platform that automates many of the manual processes
involved in deploying, managing, and scaling containerized applications.
Originally designed by Google, the project is now maintained by the
Cloud Native Computing Foundation.
What can you do with Kubernetes?
The primary advantage of using Kubernetes is that it gives you the
platform to schedule and run containers on clusters of physical or virtual
machines (VMs).
More broadly, it helps you fully implement and rely on a container-based
infrastructure in production environments because Kubernetes is all about
automation of operational tasks.

Key terms in Kubernetes


As is the case with most technologies, language specific to Kubernetes can act as a
barrier to entry. Let's break down some of the more common terms to help you
better understand Kubernetes.

Control plane: The collection of processes that control Kubernetes nodes. This is
where all task assignments originate.

Nodes: These machines perform the requested tasks assigned by the control plane.

Pod: A group of one or more containers deployed to a single node. All containers in
a pod share an IP address, IPC, hostname, and other resources. Pods abstract
network and storage from the underlying container. This lets you move containers
around the cluster more easily.
Replication controller: This controls how many identical copies of a pod should be
running somewhere on the cluster.

Service: This decouples work definitions from the pods. Kubernetes service proxies
automatically get service requests to the right pod—no matter where it moves in the
cluster or even if it’s been replaced.

Kubelet: This service runs on nodes, reads the container manifests, and ensures
the defined containers are started and running.

kubectl: The command line configuration tool for Kubernetes.

A working Kubernetes deployment is called a cluster. You can


visualize a Kubernetes cluster as two parts: the control plane and
the compute machines, or nodes.

You might also like