Skip to main content

Docker | Image | Container | VM | Containerd

Docker:
  • Docker is an engine by Docker. Explore slides.
  • Runs on host OS as well as guest OS, bare metal, cloud.
Image:
  • Packages software code, run-time, system tools, system libraries and settings.
  • Images become containers when they run on Docker Engine.
Container: 
  • Standard unit of software.
  • Isolate software from its environment
  • Software run same on Windows and Linux.
  • Could be portable anywhere.
  • Abstraction at the app layer that packages code and all dependencies together.
  • Runs application quickly from one computing env. to another env.
  • Do not require an OS per application, as it share the machine’s OS system kernel
  • Applications are safer in containers
  • Multiple containers can run on the same machine
  • Each container runs as an isolated processes in user space.
  • Require less space than VM.
Virtual Machines:
  • VMs are an abstraction of physical hardware.
  • Turns 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.
Containerd:
  • Daemon available for Linux and Windows.
  • Manage by CNCF - Cloud Native Computing Foundation.
  • Designed to be used by Docker and Kubernetes and any other container platform
  • Docker, Kubernetes, Cloud Foundry, Fire Cracker and others are using.
  • Manages complete life cycle of the container on its host system.
  • Manages image transfer, storage  to container execution, supervision to low level storage to network attachments,  and beyond.
  • Abstract away syscalls or OS specific functionality to run containers on linux, windows, solaris, or other OSes.
  • Abstraction layer between management code and the syscalls.
  • Duct tape of features to run a container.
  • Complete storage and distribution system that supports both OCI and Docker image formats.
  • Networking are out of scope for containerd.
  • Provides push and pull functionality as well as image management.
  • You get container life-cycle APIs to create, execute, and manage containers and their tasks.
  • An entire API dedicated to snapshot management. 
  • Provides everything that you need to build a container platform without having to deal with the underlying OS details. 
  • Having a versioned and stable API that will have bug fixes and security patches backported.
Ref.:
https://www.docker.com/resources/what-container
https://www.docker.com/blog/what-is-containerd-runtime/

Explore -
Docker Network,
Docker Network

7 layers (level) of OSI
Docker v/s Kubernetes
Weave v/s Calico
Weave
VXLAN
What is VXLAN
VXLAN White papers

Comments

Popular posts from this blog

MySQL InnoDB cluster troubleshooting | commands

Cluster Validation: select * from performance_schema.replication_group_members; All members should be online. select instance_name, mysql_server_uuid, addresses from  mysql_innodb_cluster_metadata.instances; All instances should return same value for mysql_server_uuid SELECT @@GTID_EXECUTED; All nodes should return same value Frequently use commands: mysql> SET SQL_LOG_BIN = 0;  mysql> stop group_replication; mysql> set global super_read_only=0; mysql> drop database mysql_innodb_cluster_metadata; mysql> RESET MASTER; mysql> RESET SLAVE ALL; JS > var cluster = dba.getCluster() JS > var cluster = dba.getCluster("<Cluster_name>") JS > var cluster = dba.createCluster('name') JS > cluster.removeInstance('root@<IP_Address>:<Port_No>',{force: true}) JS > cluster.addInstance('root@<IP add>,:<port>') JS > cluster.addInstance('root@ <IP add>,:<port> ') JS > dba.getC...

InnoDB cluster Remove Instance Force | Add InnoDB instance

InnoDB cluster environment UUID is different on node: To fix it stop group replication, remove instance (use force if require), add instance back Identify the node which is not in sync: Execute following SQL statement on each node and identify the node has different UUID on all nodes. mysql> select * from mysql_innodb_cluster_metadata.instances; Stop group replication: Stop group replication on the node which does not have same UUID on all nodes. mysql > stop GROUP_REPLICATION; Remove instances from cluster: Remove all secondary node from the cluster and add them back if require. $mysqlsh JS >\c root@<IP_Address>:<Port_No> JS > dba.getCluster().status() JS > dba.getCluster () <Cluster:cluster_name> JS > var cluster = dba.getCluster("cluster_name"); JS >  cluster.removeInstance('root@<IP_Address>:<Port_No>'); If you get "Cluster.removeInstance: Timeout reached waiting......" JS > cluster.removeInstance(...

Oracle E-Business Suite Online Patch Phases executing adop

Following description about Oracle E-Business Suite is high level and from documentation https://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531062.htm#5281339 for in depth and detail description refer it. The online patching cycle phases: Prepare Apply Finalize Cutover Cleanup Prepare phase: Start a new online patching cycle, Prepares the environment for patching. $ adop phase=prepare Apply phase: Applies the specified patches to the environment. Apply one or more patches to the patch edition. $ adop phase=apply patches=123456,789101 workers=8 Finalize phase: Performs any final steps required to make the system ready for cutover. Perform the final patching operations that can be executed while the application is still online. $ adop phase=finalize Cutover phase: Shuts down application tier services, makes the patch edition the new run edition, and then restarts application tier services. This is the only phase that involves a brief ...