Download presentation
Presentation is loading. Please wait.
1
Introduction to Docker
Application-centric Virtualization for Linux Ram Rao / April 5, 2016 1
2
Docker: Tool enabling Portable Applications through Light-weight Container-based Virtualization
2
3
Agenda Introduction to Containers What is Docker? Docker Ecosystem
What problem does it solve? Architecture Docker Ecosystem Getting Started with Docker Docker Demonstration 3
4
Introduction to Containers
Light-weight Operating System Virtualization 4
5
Hypervisor-based Virtualization
Each OS sees its “own” hardware Hypervisor mediates access to shared hardware resources Isolates VMs from each other Efficient CPU usage This is a sample Two Pictures with Captions slide ideal for including two pictures with brief descriptive statements. To Replace the Pictures on this Sample Slide (this applies to all slides in this template that contain replaceable pictures) Select the sample picture and press Delete. Click the icon inside the shape to open the Insert Picture dialog box. Navigate to the location where the picture is stored, select desired picture and click on the Insert button to fit the image proportionally within the shape. Note: Do not right-click the image to change the picture inside the picture placeholder. This will change the frame size of the picture placeholder. Instead, follow the steps outlined above. Tip: use the Crop tool to reposition a picture within a placeholder. From the Picture Tools Format tab on the ribbon, click the Crop button. Click and drag the picture within the placeholder to reposition. To scale the picture within the placeholder (while Crop is active), grab a round corner handle and drag to resize. Hold Shift key to constrain picture aspect ratio when resizing. Virtual Machines 5
6
Container-based Virtualization
Single instance of OS Unique per container: File-systems Users IP addresses Processes Efficient memory usage Container 1 Container 2 Container 3 This is a sample Two Pictures with Captions slide ideal for including two pictures with brief descriptive statements. To Replace the Pictures on this Sample Slide (this applies to all slides in this template that contain replaceable pictures) Select the sample picture and press Delete. Click the icon inside the shape to open the Insert Picture dialog box. Navigate to the location where the picture is stored, select desired picture and click on the Insert button to fit the image proportionally within the shape. Note: Do not right-click the image to change the picture inside the picture placeholder. This will change the frame size of the picture placeholder. Instead, follow the steps outlined above. Tip: use the Crop tool to reposition a picture within a placeholder. From the Picture Tools Format tab on the ribbon, click the Crop button. Click and drag the picture within the placeholder to reposition. To scale the picture within the placeholder (while Crop is active), grab a round corner handle and drag to resize. Hold Shift key to constrain picture aspect ratio when resizing. Container Engine Operating System Hardware 6
7
What is Container-virtualization?
Run multiple workloads in containers under single instance of OS Each container is isolated from the others Control resources (disk, memory, I/O etc) available to each controller Differentiated levels of service to each container Kernel modifications required to provide isolation and resource control Examples of Container Virtualization: LXC (standard in Linux) Virtuozzo, OpenVZ (from Parallels), lmctfy (Google) Solaris Zones, HP-UX Secure Resource Partitions 7
8
Linux Technologies enabling Containers
Name-space isolation Process IDs Network Users Mounts Chroot: File-system isolation C-groups: Resource limitation, prioritization, accounting Memory, cpu, blkio, devices Copy-on-write filesystem (AUFS) 8
9
Containers vs. Virtual Machines
Container Benefits Container Limitations Light-weight insulated environment System supports many more VMs Faster boot Near native performance Easier OS management Cannot run disparate OSes (e.g. Linux and Windows) Single kernel and patch level for all containers Reboot requires taking down all containers Should containers replace VMs? It depends ... Co-existence likely 9
10
So what is Docker? Application-focused Containers 10
11
Docker: Application-centric containers
Technology developed by dotCloud.com, a PaaS provider An open platform for developers and sysadmins to build, ship and run distributed applications Enables apps to be quickly assembled from components and eliminates friction between development, QA and production environments Allows faster shipping and running of apps, unchanged, on laptops, data-centers, VMs, and any cloud 11
12
The Matrix from Hell! This is a sample Picture with Caption slide ideal for including a picture with a brief descriptive statement. To Replace the Picture on this Sample Slide (this applies to all slides in this template that contain replaceable pictures) Select the sample picture and press Delete. Click the icon inside the shape to open the Insert Picture dialog box. Navigate to the location where the picture is stored, select desired picture and click on the Insert button to fit the image proportionally within the shape. Note: Do not right-click the image to change the picture inside the picture placeholder. This will change the frame size of the picture placeholder. Instead, follow the steps outlined above. Tip: use the Crop tool to reposition a picture within a placeholder. From the Picture Tools Format tab on the ribbon, click the Crop button. Click and drag the picture within the placeholder to reposition. To scale the picture within the placeholder (while Crop is active), grab a round corner handle and drag to resize. Hold Shift key to constrain picture aspect ratio when resizing. 12
13
Shipping: Another Matrix from Hell!
This is a sample Picture with Caption slide ideal for including a picture with a brief descriptive statement. To Replace the Picture on this Sample Slide (this applies to all slides in this template that contain replaceable pictures) Select the sample picture and press Delete. Click the icon inside the shape to open the Insert Picture dialog box. Navigate to the location where the picture is stored, select desired picture and click on the Insert button to fit the image proportionally within the shape. Note: Do not right-click the image to change the picture inside the picture placeholder. This will change the frame size of the picture placeholder. Instead, follow the steps outlined above. Tip: use the Crop tool to reposition a picture within a placeholder. From the Picture Tools Format tab on the ribbon, click the Crop button. Click and drag the picture within the placeholder to reposition. To scale the picture within the placeholder (while Crop is active), grab a round corner handle and drag to resize. Hold Shift key to constrain picture aspect ratio when resizing. 13
14
Shipping Solution: Universal Containers
This is a sample Picture with Caption slide ideal for including a picture with a brief descriptive statement. To Replace the Picture on this Sample Slide (this applies to all slides in this template that contain replaceable pictures) Select the sample picture and press Delete. Click the icon inside the shape to open the Insert Picture dialog box. Navigate to the location where the picture is stored, select desired picture and click on the Insert button to fit the image proportionally within the shape. Note: Do not right-click the image to change the picture inside the picture placeholder. This will change the frame size of the picture placeholder. Instead, follow the steps outlined above. Tip: use the Crop tool to reposition a picture within a placeholder. From the Picture Tools Format tab on the ribbon, click the Crop button. Click and drag the picture within the placeholder to reposition. To scale the picture within the placeholder (while Crop is active), grab a round corner handle and drag to resize. Hold Shift key to constrain picture aspect ratio when resizing. 14
15
This is a sample Picture with Caption slide ideal for including a picture with a brief descriptive statement. To Replace the Picture on this Sample Slide (this applies to all slides in this template that contain replaceable pictures) Select the sample picture and press Delete. Click the icon inside the shape to open the Insert Picture dialog box. Navigate to the location where the picture is stored, select desired picture and click on the Insert button to fit the image proportionally within the shape. Note: Do not right-click the image to change the picture inside the picture placeholder. This will change the frame size of the picture placeholder. Instead, follow the steps outlined above. Tip: use the Crop tool to reposition a picture within a placeholder. From the Picture Tools Format tab on the ribbon, click the Crop button. Click and drag the picture within the placeholder to reposition. To scale the picture within the placeholder (while Crop is active), grab a round corner handle and drag to resize. Hold Shift key to constrain picture aspect ratio when resizing. 15
16
How does Docker differ from LXC Containers?
Technology providing light-weight Linux containers Provides an entire Linux virtual environment Typically long lifetime Single application virtualization engine based on LXC containers.. Base OS pared down for a single application Does not have a proper init or services, daemons, syslogs, cron etc. Typically short lifetime; very fast startup Focus is on portability across multiple machines and environments using standard containers. Provides a registry where users can push/pull images Layering eases application composition 16
17
Docker Architecture This is a sample Picture with Caption slide ideal for including a picture with a brief descriptive statement. To Replace the Picture on this Sample Slide (this applies to all slides in this template that contain replaceable pictures) Select the sample picture and press Delete. Click the icon inside the shape to open the Insert Picture dialog box. Navigate to the location where the picture is stored, select desired picture and click on the Insert button to fit the image proportionally within the shape. Note: Do not right-click the image to change the picture inside the picture placeholder. This will change the frame size of the picture placeholder. Instead, follow the steps outlined above. Tip: use the Crop tool to reposition a picture within a placeholder. From the Picture Tools Format tab on the ribbon, click the Crop button. Click and drag the picture within the placeholder to reposition. To scale the picture within the placeholder (while Crop is active), grab a round corner handle and drag to resize. Hold Shift key to constrain picture aspect ratio when resizing. 17
18
The Docker Ecosystem 18
19
Docker Eco-system 19
20
Docker Infrastructure Availability
Linux Distributions: RHEL 7.x, CentOS 7.x, Ubuntu , SLES 12 Container-specific minimal OSes: CoreOS, Project Atomic, Photon On non-Linux OSes (Windows, OSX): Docker Toolbox In the cloud: Google Cloud, Amazon AWS, Microsoft Azure OpenStack integration Future: Docker engine integration into Windows Server 20
21
Docker and Microsoft Today: Future:
- Azure + Linux VMs + Docker (running Linux containers) - Windows docker client (in Docker v1.6) Future: - Windows server with Hyper-V Containers (docker engine running Windows containers) - Azure with Hyper-V Containers (docker engine running Windows containers) - Nano Server as minimal container image for Cloud apps (more efficient, smaller attack area) See here: Integration with Keystone in progress Other projects? Solum? Magnum? Why Docker + OpenStack? Alternative to VMs within OpenStack Easier deployment of OpenStack itself Cross cloud application deployment At OpenStack Summit we hope to show: Building and testing an application from source Running on a laptop Running it, without modification or noticeable downtime, on a public cloud Running it, without modification or noticeable downtime, on an openstack cluster Doing all of the above using Nova and Horizon Many ongoing Docker projects: Nova Docker hypervisor driver – but not a natural fit for containers Docker heat plugin – allows to pilot containers within a virtual machine running under OpenStack Dockenstack - DevStack (OpenStack dev+test environment) within a Docker container Magnum (containers as a service) and Solum (PaaS) projects in OpenStack Nova compute + ironic + bare-metal + Docker Docker-in-Docker (Kubernetes, Mesos, Heat, CloudFoundry, Magnum controlled ….) Nova doesn’t… Link container networks Pass environment variables Specify working directories Create docker-volumes Share docker-volumes between containers Arbitrary commands Arbitrary command-arguments Pass devices Nova is a machine abstraction, not a process one. Docker doesn’t… • Support mounting devices (unprivileged) • Live-migration is future-speak • Boot from block devices (natively - it’s possible…) • Support Glance natively • PCI pass-through In Havana & IceHouse releases: • docker-registry worked as a proxy • Users had to upload through docker-registry. • docker pulls images through the docker-registry proxy Just enough Docker: docker-registry worked as a proxy • Users had to upload through docker-registry. • docker pulls images through the docker-registry proxy (at-release) Havana & Icehouse Image Management • Glance was only used to provide visibility of Docker images for Nova. • Users could not upload through Glance directly • Making that work would require a special procedure for glance uploads. so… we took out the docker-registry instead. Just Enough Docker J• A subset of Nova features… • A subset of Docker features… • Enough for Nova to allow running Docker-in-Docker. • DinD retains most performance benefits of Docker. • DinD is Docker and everything you love about Docker. 2018/9/15 21
22
Docker: Linux and Windows
See here: Integration with Keystone in progress Other projects? Solum? Magnum? Why Docker + OpenStack? Alternative to VMs within OpenStack Easier deployment of OpenStack itself Cross cloud application deployment At OpenStack Summit we hope to show: Building and testing an application from source Running on a laptop Running it, without modification or noticeable downtime, on a public cloud Running it, without modification or noticeable downtime, on an openstack cluster Doing all of the above using Nova and Horizon Many ongoing Docker projects: Nova Docker hypervisor driver – but not a natural fit for containers Docker heat plugin – allows to pilot containers within a virtual machine running under OpenStack Dockenstack - DevStack (OpenStack dev+test environment) within a Docker container Magnum (containers as a service) and Solum (PaaS) projects in OpenStack Nova compute + ironic + bare-metal + Docker Docker-in-Docker (Kubernetes, Mesos, Heat, CloudFoundry, Magnum controlled ….) Nova doesn’t… Link container networks Pass environment variables Specify working directories Create docker-volumes Share docker-volumes between containers Arbitrary commands Arbitrary command-arguments Pass devices Nova is a machine abstraction, not a process one. Docker doesn’t… • Support mounting devices (unprivileged) • Live-migration is future-speak • Boot from block devices (natively - it’s possible…) • Support Glance natively • PCI pass-through In Havana & IceHouse releases: • docker-registry worked as a proxy • Users had to upload through docker-registry. • docker pulls images through the docker-registry proxy Just enough Docker: docker-registry worked as a proxy • Users had to upload through docker-registry. • docker pulls images through the docker-registry proxy (at-release) Havana & Icehouse Image Management • Glance was only used to provide visibility of Docker images for Nova. • Users could not upload through Glance directly • Making that work would require a special procedure for glance uploads. so… we took out the docker-registry instead. Just Enough Docker J• A subset of Nova features… • A subset of Docker features… • Enough for Nova to allow running Docker-in-Docker. • DinD retains most performance benefits of Docker. • DinD is Docker and everything you love about Docker. 2018/9/15 22
23
Docker Tools GUI: Shipyard, Docker-UI Docker PAAS: Dokku, Flynn, Deis
Orchestration: CoreOS, Panamax, Kubernetes 23
24
Where is Docker being used?
HP IT hosts a docker container registry Directory app etc. eBay Now Spotify Google lmctfy Provide all their services using containers (Search, Mail, Docs, etc.) Start over 3000 containers/sec (over 2B containers/week) 24
25
Learning Docker Use Linux Distros that have Docker packages:
Ubuntu or later CentOS 7.x, … Run on Windows, OSX by installing Docker Toolbox or boot2docker Docker User Guide: 25
26
Docker Demonstration 26
27
Docker: Tool enabling Portable Applications through Light-weight Container-based Virtualization
27
28
Questions? 28
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.