Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intro about Contanier and Docker Technology

Similar presentations


Presentation on theme: "Intro about Contanier and Docker Technology"— Presentation transcript:

1 Intro about Contanier and Docker Technology

2 Who Am I? Khaled Eldesouky Sr. Technical Consultant VMware vExpert
Blogger Docker Community Leader in Riyadh VMUG Leader in Saudi Arabia Blog :

3 Agenda Introduction about Contanier Technology Docker Technology 101
Demo tell attendees to download Toolbox + pull images

4 A Brief History of Container Technology
2015 – OCI 2014 – rkt 2013 – Docker 2013 – LMCTFY 2011 – Warden 2008 – LXC 2007 – AIX (6.1) WPARS 2007 – cgroups in Linux Kernel (2.6.24) 2006 – Process Containers 2005 – openvz 2004 – Solaris Zones 2001 – Linux vserver 2000 – FreeBSD jails 1979 – Unix V7 added chroot

5 Introducing Containers
Containerization uses the kernel on the host operating system to run multiple root file systems Containers are the products of operating system virtualization. They provide a lightweight virtual environment that groups and isolates a set of processes and resources such as memory, CPU, disk, etc., from the host and any other containers. The isolation guarantees that any processes inside the container cannot see any processes or resources outside the container. Each root file system is called a container Each container also has its own Processes Memory Devices Network stack This led us to the concept of container based virtualization. Container based virtualization uses the kernel on the host’s operating system to run multiple guest instances. Each guest instance is called a container and each container will have its own root filesystem, processes, memory, devices and network stack. From the outside, it looks and operates like a VM but it is not a VM. V0.6 revision Removed virtualization from description and guest instances changed to root filesystem

6 Containers Server could be physical or virtual
Transcript: This diagram shows us an overview of how containers work. We have our server, and this server can actually be a physical machine or it could be a virtual server. We install our operating system. The container’s that we create, interact with the OS kernel. It uses certain features of the kernel to create an isolated application platform. Within each container, we then install our application and all the libraries that our application depends on. Now you might be wondering, well why not just install all those applications without using the containers? That’s actually quite tricky. Most applications need to use various third party libraries. Say we have 3 Java applications we want to run and each one uses a different version of Java or needs a different JVM implementation. It’s very difficult to have all 3 running on the same machine without conflicts. By using containers, we can isolate these runtime environments and eliminate the potential for conflicts.

7 Namespaces Namespaces are a Linux kernel feature that isolates and virtualizes resources (PID, hostname, userid, network, ipc, filesystem) of a collection of processes. Provide processes with their own view of the system Each process is in one namespace of each type

8 Control groups cgroups (control groups) is a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, network, etc.) of a collection of processes.

9 Hardware virtualization operating system virtualization
Containers vs. VMs Hardware virtualization operating system virtualization

10 VMs

11 Containers

12 Results in N X N compatibility nightmare
Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers ?

13 Docker is a shipping container system for code
Static website User DB Analytics DB Web frontend Queue Do services and apps interact appropriately? Multiplicity of Stacks An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container… …that can be manipulated using standard operations and run consistently on virtually any hardware platform Multiplicity of hardware environments Can I migrate smoothly and quickly Development VM QA server Customer Data Center Public Cloud Production Cluster Contributor’s laptop

14 Docker solves the NXN problem
Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers

15 A Brief History of Docker
Solomon Hykes started Docker in France as an internal project within dotCloud, Docker was released as open source in March 2013.

16 Docker 101 The Docker Project Docker Inc
Open Source Project 4.1B+ Docker Image Downloads 2000+ contributors 40K+ GitHub stars 460K+ Dockerized apps 240 Meetups in 70 countries 125K Meetup members Containers as a Service provider Integrated platform for dev and IT Commercial technical support Docker project sponsor Primary sponsor of Docker project Supports project maintainers

17 is a “Shipping Container” for Code
Developers because … Frictionless deployment and maximum portability On developer laptop: Then on server: That’s it!! A natural fit for 3rd Platform, 12 factor, microservices It makes DevOps much much easier ~# docker build my_app ~# docker push my_app ~# ~# docker pull my_app ~# docker run my_app ~#

18 Docker Basics Docker Image The basis of a Docker container Docker Container The standard unit in which the application service resides Docker Engine Creates, ships and runs Docker containers deployable on physical or virtual host locally, in a datacenter or cloud service provider Docker Trusted Registry For image storing and secure collaboration Container The standard unit in which the application service resides Package app and dependencies together Isolated from other containers One container per app / service Docker Engine The program that creates, ships and runs containers Deployable on any physical or vm host locally, in datacenters or cloud Communicates with Docker Hub Docker Hub The service that store, distributes and manages container images Receives commands from Docker Client via Engine Access control with public, private repos Deployment Models Docker Hub (Docker hosted SaaS) Docker Hub Enterprise (you select infrastructure) Service Providers

19 Orchestration Swarm Compose
A powerful, scalable clustering solution for Docker engines Tool can leverage all existing Docker APIs Compose Allows users to deploy multi-container applications into any Dockerized environment with Compose

20 Docker Datacenter Docker commercial CaaS solution for an on-premises or virtual private cloud environment Operating Systems CI/CD Images Networking Volumes Config Mgt Monitoring Logging ..more.. Docker Universal Control Plane App and cluster management Security Content Trust, RBAC, LDAP/AD Docker Trusted Registry Image management and distribution Docker Engine Container runtime, orchestration, networking, volumes, plugins Infrastructure Public Cloud Virtualization Physical/Converged

21 The Docker ecosystem Official Repositories Networking Dev Tools
Infrastructure & Service Providers Networking Dev Tools Clustering & Scheduling Operating Systems Storage Big Data Management Service Discovery Security Monitoring & Logging Build / Continuous Integration Consulting &Training Configuration Management Storage

22 CONFIDENTIAL What do I mean by the future…

23 Let’s get started with this Docker Training!
go to github: birthday-3/

24 Thanks Demo Tutum and Docker Hub


Download ppt "Intro about Contanier and Docker Technology"

Similar presentations


Ads by Google