docker architecture(version modified)

25
Presentation By: Mohammadreza Amini Amir Arsalan Autumn 2015 IRAN OpenStack Users Group Docker Architecture Version Modified

Upload: mohammadreza-amini

Post on 13-Feb-2017

304 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Docker architecture(version modified)

Presentation By:Mohammadreza Amini

Amir Arsalan

Autumn 2015IRAN OpenStack Users Group

Docker ArchitectureVersion Modified

Page 2: Docker architecture(version modified)

Agenda

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

● Docker Concept

● How Does Docker Work?

● Should know about Docker

● Docker vs VMs

● Docker vs lxc

● The underlying technology

Page 3: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Docker Concept

Page 4: Docker architecture(version modified)

Docker is composed of following four components

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

● Docker Client and Daemon

● Images

● registries

● Containers

Page 5: Docker architecture(version modified)

Docker Client and Daemon

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Docker Daemon

the Docker daemon runs on a host machine. The user does not directly interact

with the daemon, but instead through the Docker client.

Docker Client

The Docker client, in the form of the docker binary, is the primary user interface to

Docker. It accepts commands from the user and communicates back and forth with

a Docker daemon.

Page 6: Docker architecture(version modified)

Images

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

A Docker image is a read-only template.

Image type:

● Images that exist on register (docker hub)

● Images that can created with build

Page 7: Docker architecture(version modified)

Registeries

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Docker registries hold images. These are public or private stores from which you upload or

download images. The public Docker registry is provided with the Docker Hub.

Page 8: Docker architecture(version modified)

Containers

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Docker containers are similar to a directory. A Docker container holds everything that is

needed for an application to run. Each container is created from a Docker image.

Page 9: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

How Does Docker Work?

Page 10: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Reference: https://docs.docker.com/article-img/architecture.svg

Page 11: Docker architecture(version modified)

What happens when you run a container?

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

● Pulls the image

● Creates a new container

● Allocates a filesystem and mounts a read-write layer

● Allocates a network / bridge interface

● Sets up an IP address

● Executes a process that you specify

● Captures and provides application output

Page 12: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Should know about Docker

Page 13: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

● Docker is not LXC

● Docker is not a Virtual machine Solution.

● Docker is not a configuration management system and is not a replacement for chef,

puppet, Ansible etc.

● Docker is not a platform as a service technology.

Things you should know about Docker:

Page 14: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Docker vs VMs

Page 15: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Reference: https://risingstack-blog.s3-eu-west-1.amazonaws.com/2015/05/hypervisor-based-virtualization.jpg

Page 16: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Reference: https://risingstack-blog.s3-eu-west-1.amazonaws.com/2015/05/os-virtualization.jpg

Page 17: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Docker vs lxc

Page 18: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Reference: https://www.flockport.com/lxc-vs-docker/

Page 19: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

The underlying technology

Page 20: Docker architecture(version modified)

Namespaces

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Namespaces provides a layer of isolation: each aspect of a container runs in its own

namespace and does not have access outside it.

More Details: http://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces

Page 21: Docker architecture(version modified)

Control Groups

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Cgroups running applications in isolation is to have them only use the resources you want. This ensures

containers are good multi-tenant citizens on a host. Control groups allow Docker to share available

hardware resources to containers and, if required, set up limits and constraints. For example, limiting the

memory available to a specific container.

More Details: https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt

Page 22: Docker architecture(version modified)

Union File System

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Union file systems, or UnionFS, are file systems that operate by creating layers, making them very

lightweight and fast. Docker uses union file systems to provide the building blocks for containers.

More Details: http://www.fsl.cs.sunysb.edu/docs/unionfs-tr/unionfs.pdf

Page 23: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Any Question?

Page 24: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Stay in Touch and Join Us:

● Home Page: OpenStack.ir

● Meetup age: Meetup.com/IranOpenStack

● Mailing List: [email protected]

● Twitter: @OpenStackIR , #OpenStackIRAN

● IRC Channel on FreeNode: #OpenStack-ir

Page 25: Docker architecture(version modified)

Docker ArchitectureVersion Modified

| Iran Community OpenStack.ir

Mohammadreza Amini

Linux Administrator

[email protected]

Amir Arsalan

Python Developer

[email protected]

Thank You