Container Technology
A container technology is a lightweight, executable unit of software that packs up application code an dependencies such as binary code, libraries, and configure files for easy deployment across different computing environments.
Common types of containers are:
1. Docker
2. CRI_O-A lightweight open-source container engine created by Red Hat.
3. rktlet- A Kubernetes CRI(Container Runtime Interface
Linux Container
- It is a set of 1 or more processes that are isolated from the rest of the systems.
- Linux Containers contain applications in a ways that keep them isolated from the host systems that they run on.
- Containers allows a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package.
- They are design to make it easier to provide a consistent experience as developers and system administrators move code from development environments into production in a fast and replicable way.
- virtualization aims to run multiple OS instances o a single server, whereas containerization runs a single OS instance, with multiple user spaces to isolate processes from one another.
- Containerization is achieved by packaging software code, libraries, frameworks, and other dependencies together in a isolated user space called a container. this container is portable and can be used on any infrastructure in any environment that supports the container technology, such as Docker and Kubernetes.
Differences between the virtualization and containerization are
1. Different operating system
virtualization can host more than one employee operating system, each with its own kernal, whereas containerization runs all containers via user mode on one OS.
2. Guest support
Virtualization allows for a range of operating systems to be used on the same server or machine. On the other hand, containerization is reliant on the host OS, meaning Linux containers cannot be run on Windows and vice-versa.
3. Persistent Virtual Storage
Virtualization assigns a virtual hard disk(VHD) to each individual machine, or a server message block(SMB) if shared storage is used across multiple servers. With containerization, the local hard disk is used for storage per node, with SMB for shared storage across multiple nodes.
4. Virtualized Networking
Virtualization uses virtual adaptors (VNA) to facilitate networking, running through a master network card(NIC). With containerization, the VNA is split into multiple isolated views for lightweight network virtualization.
Benefits of Containers
1. Less overhead
Containers requires less system resources than traditional or hardware virtual machine environments because they don't include operating system images.
2. Increased portability
Applications running in containers can be deployed easily to multiples different operating systems and hardware platforms.
3. Greater efficiency
Container allows applications to be more rapidly, patched or scaled.
Docker
- Docker is a software platform that allows to build, test, and deploy application quickly.
How docker works
Docker works by providing a standard ways to run your code. Docker is an operating system for containers.- It act as a set of instruction to build a Docker container, like a template.
- In the context of Docker, a volume is a persistent storage location that exists outside of the container. Volume are useful for storing data that needs to persist even if the container is stopped or removed.
Docker hub is a container registry built for developers and open source contributors to find, use and share their container images.
- With hub, developers can host public repos that can be used for free, or private repos for teams and enterprises.
Comments
Post a Comment