Top Banner
Docker Mentor Week 16 - 11 - 16 @ walidshaari # learndocker
66

Docker Dhahran Nov 2016 meetup

Apr 11, 2017

Download

Software

Walid Shaari
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Docker Dhahran Nov 2016 meetup

Docker Mentor Week16-11-16

@walidshaari#learndocker

Page 2: Docker Dhahran Nov 2016 meetup

Save the date for DockerCon 2017 April 17-20

Page 3: Docker Dhahran Nov 2016 meetup

DHAHRAN

http://katacoda.com/courses/docker/mentor-weekhttp://katacoda.com/courses/docker/mentor-week-cluster

http://play-with-docker.com

Page 4: Docker Dhahran Nov 2016 meetup

§ 100+ Mentor Week events! § 6000+ RSVPs

§ 400+ mentors

§ Big thanks to our global sponsors:

Page 5: Docker Dhahran Nov 2016 meetup

§ Introductions and socializing 9:00

§ Docker/Meetup intro 9:15

§ Preparation for hands-on labs as communicated 9:30

https://gist.github.com/walidshaari/61bb2fdfceb4d924bd90a416025209fc

§ Learning Docker with Mentor Week Courses targeting end by 11:30

Page 6: Docker Dhahran Nov 2016 meetup

§ Vim vs. EMA

§ Emacs

§ Linux

§ Windows

§ Development

§ Operations

§ other

§ Devops

§ Configuration management tool

§ Containers

§ Schedulers

§ Containers management tools, or distributions

§ Clusters, load balancers, orchestrtaion

Page 7: Docker Dhahran Nov 2016 meetup

© 2013-2016 Docker, Inc. All rights reserved

1. Introduction to Docker

Page 8: Docker Dhahran Nov 2016 meetup

§ Started as internal project @ dotcloud§ Open Sourced in 2013§ Developed in the open

Page 9: Docker Dhahran Nov 2016 meetup
Page 10: Docker Dhahran Nov 2016 meetup
Page 11: Docker Dhahran Nov 2016 meetup

0.0.3 March 2013

1.0 June 2014

1.1 July 2014

1.2 August 2014

1.3 October

2014

1.4 December

2014

1.5 February

2015

1.6 April 2015

1.7 June 2015

1.8 August 2015

1.9 November

2015

1.10 Feburary

2016

1.11 April 2016

1.12.0 July 2016

1.12.1 August

2016

1.12.2 October

2016

1.12.3 October

2016

Page 12: Docker Dhahran Nov 2016 meetup

12

Build, Ship, Run Distributed Applications Anywhere

Containers as a Service• Integrated platform for IT and developers• Commercial technical support provider (Docker, IBM,

HPE)

Docker Project Sponsor• Primary contributor and maintainer to Docker project• 7B+ Image Downloads, 3000+ Contributors, 700,000+

Dockerized Applications

Docker Inc.

State of Applications Survey, Q1 2016

Docker users running in production

60%

Page 13: Docker Dhahran Nov 2016 meetup

Applications are changing

13

Loosely Coupled Services

Many Small Servers

~2000 Today

Monolithic

Big Servers

Slow changing

Rapidly updated

Page 14: Docker Dhahran Nov 2016 meetup
Page 15: Docker Dhahran Nov 2016 meetup
Page 16: Docker Dhahran Nov 2016 meetup
Page 17: Docker Dhahran Nov 2016 meetup
Page 18: Docker Dhahran Nov 2016 meetup
Page 19: Docker Dhahran Nov 2016 meetup
Page 20: Docker Dhahran Nov 2016 meetup

Benefits of Docker

20

+ +Agility Portability Control

State of App development Survey: Q1 - 2016

13X More software releases

20X Better resource utilization

44% Reduce VM usage by >25%

Eliminate“works on my machine”

issues

41%Move workloads across

private/public clouds

62% Report reduced MTTR

Page 21: Docker Dhahran Nov 2016 meetup

© 2013-2016 Docker, Inc. All rights reserved

2. Learn Docker with Mentor Week Courses

Page 22: Docker Dhahran Nov 2016 meetup

Course Instructions

STEP 0: Visit

Register with Docker Community:

https://community.docker.com/registrations/groups/4316

Channel global-mentor-weekDirect Message me as soon you enter

Page 23: Docker Dhahran Nov 2016 meetup

Course Instructions

STEP 1: Visit

Ensure Docker Hub account:hub.docker.com

Page 24: Docker Dhahran Nov 2016 meetup

Course Instructions

STEP 2: Visit

training.docker.com/category/docker-mentor-week

Page 25: Docker Dhahran Nov 2016 meetup

STEP 3. Select the course you’d like to take and click register

Course Instructions

Page 26: Docker Dhahran Nov 2016 meetup

STEP 4: Click CheckoutSTEP 5: Sign in with Docker Hub

Course Instructions

Page 27: Docker Dhahran Nov 2016 meetup

STEP 6: Click Confirm OrderSTEP 7: Click “profile” in orange to access course

Course Instructions

Page 28: Docker Dhahran Nov 2016 meetup

STEP 8: Start your course!

Course Instructions

Page 29: Docker Dhahran Nov 2016 meetup

Certificate of Course Completion

Page 30: Docker Dhahran Nov 2016 meetup

Linux features?

Name spaces?cgroups?Lxc?

Union file systems

Configuration management ?

Virtualization technology?

npm

jar

Packaging ?

rpm

deb

tar.gz

Virtual/environment management ?

Page 31: Docker Dhahran Nov 2016 meetup

Manualconfiguration

Traditional VMs

Less PortableMinimal overhead

Most PortableLots of overhead

Configuration Management tools

Containers

Docker

Intel ClearContainers

Page 32: Docker Dhahran Nov 2016 meetup
Page 33: Docker Dhahran Nov 2016 meetup
Page 34: Docker Dhahran Nov 2016 meetup
Page 35: Docker Dhahran Nov 2016 meetup

Container encapsulate an application completely with all of its software dependencies into a standardized unit for software portable across different platforms*.

https://www.docker.com/what-docker

Page 36: Docker Dhahran Nov 2016 meetup

Bin/Libs

APP C

Docker Engine

Docker capable OS

Bin/Libs

App B

Bin/Libs

APP A

Page 37: Docker Dhahran Nov 2016 meetup

Bin/Libs

Database

Docker Engine

Docker capable OS

Bin/Libs

Load balancer

Bin/Libs

Web ServerWeb Server

Bin/Libs

Page 38: Docker Dhahran Nov 2016 meetup

§ Docker Core Components:§ Engine : Portable (light/heavy) weight run time, and packaging tool§ Registry : Central repos to manage sharing of packaged Docker images, and

enabled (build, ship, release, run) workflows ( the default registry Docker HUB)

§ Containers Eco System§ Modular

§ Check Schedulers§ Compliant

§ OCI§ Holistic

§ End to end workflows

Page 39: Docker Dhahran Nov 2016 meetup
Page 40: Docker Dhahran Nov 2016 meetup
Page 41: Docker Dhahran Nov 2016 meetup

§ Image:The basis of a Docker container

§ Docker Container: The standard unit in which the application service resides "running image instance"

§ Docker Engine: Runs on Linux, Creates, ships and runs Docker containers deployable on physical or virtual host locally, in a datacenter or cloud service provider

§ Docker Machine:Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage the hosts with docker- machine commands. You can use Machine to create Docker hosts on your local Mac or Windows box, on your company network, in your data center, or on cloud providers like AWS or Digital Ocean.

§ Docker Registry: On-premises registry for image storing and collaboration

Page 42: Docker Dhahran Nov 2016 meetup

Containers

• Packages up software binaries and dependencies "minimal"• Isolates software from each other• Container is a standard format• Easily portable across environment• Allows ecosystem to develop around its standard Container

Page 43: Docker Dhahran Nov 2016 meetup
Page 44: Docker Dhahran Nov 2016 meetup

https://docs.docker.com/

https://docs.docker.com/docker-for-mac/https://docs.docker.com/engine/installation/linux/https://docs.docker.com/engine/installation/windows/

Can’t install Docker? Use

http://katacoda.com/courses/docker/mentor-weekhttp://katacoda.com/courses/docker/mentor-week-cluster http://play-with-docker.com

More Docker content? http://Katacoda.com/learnTweet #DockerDhahran #LearnDocker

Page 45: Docker Dhahran Nov 2016 meetup

1- Go to https://docs.docker.com/windows/2- then start installation https://docs.docker.com/windows/step_one/3- Ensure git bash terminal is installed4- invoke a git bash terminal5- verify the docker-machine

Page 46: Docker Dhahran Nov 2016 meetup

1- Initialize the Docker machine environment2- Verify the Docker-machine

docker-machine ls

docker-machine env default

3- You might need to create a virtual default machine

Page 47: Docker Dhahran Nov 2016 meetup

You might need to create a virtual default machinedocker-machine create --driver virtual box default

Page 48: Docker Dhahran Nov 2016 meetup

eval `docker-machine env default`docker run hello-world

Page 49: Docker Dhahran Nov 2016 meetup

docker search hello-world

Page 50: Docker Dhahran Nov 2016 meetup

docker search –s 20 alpine

curl -s -S 'https://registry.hub.docker.com/v2/repositories/library/alpine/tags/' | jq '."results"[]["name"]' |sort

Page 51: Docker Dhahran Nov 2016 meetup

$docker pull alpine:2.6$docker images

Page 52: Docker Dhahran Nov 2016 meetup

https://medium.com/@mccode/the-misunderstood-docker-tag-latest-af3babfd6375#.2rn04fqc9

$docker run alpine:latest cat /etc/alpine-release$docker run alpine:2.6 cat /etc/alpine-release$docker run alpine:2.6 uptime$docker run alpine:latest uptime

Page 53: Docker Dhahran Nov 2016 meetup

$docker history alpine:latest$docker history alpine:2.6$docker history syed/linpack

Page 54: Docker Dhahran Nov 2016 meetup
Page 55: Docker Dhahran Nov 2016 meetup

docker images

docker ps -a

Page 56: Docker Dhahran Nov 2016 meetup
Page 57: Docker Dhahran Nov 2016 meetup
Page 58: Docker Dhahran Nov 2016 meetup

$ for i in {1..10}; do docker run alpine uptime; done

$ docker ps -a

$man docker-rm

$docker ps –a

$docker rm container [container...]

What if you want to remove:

volumes associated with the container?

Links associated with the container?

Running container?

Page 59: Docker Dhahran Nov 2016 meetup

docker stats

docker ps -a

Page 60: Docker Dhahran Nov 2016 meetup
Page 61: Docker Dhahran Nov 2016 meetup

Network Storage I/OMemoryCPU

CGROUP 1

CGROUP 2

CGROUP 3

CGROUP 4

CGROUP 5

CGROUP 6 CGROUP 8

CGROUP 9

CGROUP 7

- Other subsystems:• DEVICE• HUGETLB• CPUSET

Page 62: Docker Dhahran Nov 2016 meetup

https://github.com/yadutaf/ctop

Page 63: Docker Dhahran Nov 2016 meetup

Host

Isolation is achieved via Linux kernel namespaces

Container 3pbs_serve

rpbs_sched

sshd

Container 2

mpi_task(s)

pbs_mom

sshd

Container 1

mpi_task(s)

pbs_mom

sshd

Mount IPC UTSNetworkPID USER

Page 64: Docker Dhahran Nov 2016 meetup

Container have several name spaces

Host

Container 2

mpi_task(s)

pbs_mom

sshd

Container 1

mpi_task(s)

pbs_mom

sshd

Mount IPC UTSNetworkPID

Container 3pbs_serve

rpbs_sched

sshd

USER

Page 65: Docker Dhahran Nov 2016 meetup

Network namespace can be shared between one or more container

Host

Container 2

mpi_task(s)

pbs_mom

sshd

Container 1

mpi_task(s)

pbs_mom

sshd

Mount IPC UTSNetworkPID

Container 3pbs_serve

rpbs_sched

sshd

USER

Page 66: Docker Dhahran Nov 2016 meetup

THANK YOU