250 likes | 268 Views
Intro about Contanier and Docker Technology. https://www.meetup.com/Docker-Riyadh/. Who Am I?. Khaled Eldesouky Sr. Technical Consultant VMware vExpert Blogger Docker Community Leader in Riyadh VMUG Leader in Saudi Arabia Email : Khaled@vmman.me Blog : www.vmman.me. Agenda.
E N D
Intro about Contanier and Docker Technology https://www.meetup.com/Docker-Riyadh/
Who Am I? Khaled Eldesouky • Sr. Technical Consultant • VMware vExpert • Blogger • Docker Community Leader in Riyadh • VMUG Leader in Saudi Arabia Email : Khaled@vmman.me Blog : www.vmman.me
Agenda • Introduction about Contanier Technology • Docker Technology 101 • Demo
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
Introducing Containers 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 Containerization uses the kernel on the host operating system to run multiple root file systems
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
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.
Containers vs. VMs Hardware virtualization operating system virtualization
Docker is a shipping container system for code Analytics DB Static website Queue User DB Web frontend 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 Contributor’s laptop Development VM Production Cluster QA server Customer Data Center Public Cloud
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.
Docker 101 Open Source Project • 4.1B+ Docker Image Downloads • 2000+ contributors • 40K+ GitHub stars • 460K+ Dockerized apps • 240 Meetups in 70 countries • 125K Meetup members The Docker Project Docker Inc 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
is a “Shipping Container” for Code Frictionless deployment andmaximum 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 Developers because … • ~# docker build my_app • ~# docker push my_app • ~# • ~# docker pull my_app • ~# docker run my_app • ~#
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
Swarm 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 Orchestration
DockerDatacenter Docker commercial CaaS solution for an on-premises or virtual private cloud environment CI/CD Images Networking Volumes Config Mgt Monitoring Logging Operating Systems ..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 Physical/Converged Public Cloud Virtualization
The Docker ecosystem Infrastructure & Service Providers Official Repositories Networking Dev Tools Clustering & Scheduling Storage Operating Systems Management Big Data Security Service Discovery Monitoring & Logging Build / Continuous Integration Consulting &Training Configuration Management Storage