meetup docker : from zero to hero

67
Les Meetups Veille Techno’ Meetup Veille Techno’ Docker : From Zero to Hero

Upload: laurent-grangeau

Post on 20-Jan-2017

216 views

Category:

Internet


5 download

TRANSCRIPT

Page 1: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Meetup Veille Techno’

Docker : From Zero to Hero

Page 2: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Principles• Open to all : everybody’s welcome !– Speakers– Attendees

• Based on BBL– A cutting edge technology– A concept introduced in a customer

• There’s a groupe on Yammer !

Page 3: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

What is Docker ?

Page 4: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Docker is an ecosystem• Based on 7 projects– Engine– Registry– Kitematic– Machine– Swarm– Compose– Networking

Page 5: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Why Docker ?

Page 6: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

The challenge

Page 7: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

The matrix from hell

Page 8: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Cargo transport pre-1960

Page 9: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Also a matrix from hell

Page 10: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Solution : intermodal shipping container

Page 11: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Docker is a container system for code

Page 12: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Docker eliminates the matrix from hell

Page 13: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Why developers care• Build once... (finally) run anywhere

– A clean, safe, hygienic, portable runtime environment for your app.– No worries about missing dependencies, packages and other pain points

during subsequent deployments.– Run each app in its own isolated container, so you can run various versions

of libraries and other dependencies for each app without worrying.– Automate testing, integration, packaging...anything you can script.– Reduce/eliminate concerns about compatibility on different platforms,

either your own or your customers.– Cheap, zero-penalty containers to deploy services. A VM without the

overhead of a VM. Instant replay and reset of image snapshots.

Page 14: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Why administrators care ?• Configure once... run anything

– Make the entire lifecycle more efficient, consistent, and repeatable– Increase the quality of code produced by developers.– Eliminate inconsistencies between development, test, production,

and customer environments.– Support segregation of duties.– Significantly improves the speed and reliability of continuous

deployment and continuous integration systems.– Because the containers are so lightweight, address significant

performance, costs, deployment, and portability issues normally associated with VMs.

Page 15: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

How does it work ?

Page 16: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

VMs vs containers

Page 17: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Basics of a Docker system

Page 18: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Changes and updates

Page 19: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Docker projects

Page 20: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

DOCKER ENGINE

Page 21: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Namespaces– User (To be implemented)– Pid– Net– Ipc– Mnt– Uts

Page 22: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Cgroups– Memory– IO– Cpu

Page 23: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Security– AppArmor– SELinux

Page 24: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Filesystems– Aufs– Btrfs– Overlayfs– Vfs– Unionfs– DeviceMapper

Page 25: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 26: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Dockerfile– It’s like a makefile, but for your image– File to build your image– Plenty of keywords

• FROM• RUN• EXPOSE• CMD• …

Page 27: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Builds– You have to build you container before running it– Each command of your Dockerfile create a new

layer in you image

Page 28: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Variables– You can pass environment variables to your runing

container

Page 29: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Ports– You can expose ports from you container– Without a port, a container cannot be reached

from the outside world

Page 30: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Links– You an link docker containers together without

exposing ports– Environement variables are predictable

Page 31: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Data containers– Datas are not persisted in a container– Datas sontainers can act like filesystem for

container– They can be linked to containers

Page 32: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Volumes– You can pass « anything » you want to a container– Everything is file in a Linux system

Page 33: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Demo

Page 34: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

DOCKER COMPOSE

Page 35: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Docker-compose is orchestration for Docker• Based on yaml syntax• TOSCA-like description

Page 36: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Demo

Page 37: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

DOCKER SWARM

Page 38: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Docker swarm is native cluster system for Docker

• One master, several slaves• You can decide on which daemon you run

your apps– Affinity– Contraint

Page 39: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Integration with Mesos

Page 40: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

DOCKER MACHINE

Page 41: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Used to provide Docker on fresh servers• Lots of backend– GCE– AWS– Virtualbox…

• Define environment variables easily• Can create easy swarm cluster

Page 42: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

KITEMATIC

Page 43: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Kitematic is easy Docker on Mac• Soon on Windows !

Page 44: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

REGISTRY

Page 45: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Docker image to provide stateless, highly scalable server side application that stores and lets you distribute Docker images

• Docker hub is public registry• Great for CI/CD system

Page 46: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• You can pull images from a private registry– docker pull registry-1.docker.io/library/ubuntu

Page 47: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• There is also managed registry from Docker (not free) and licenced trusted registry

Page 48: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

LIBNETWORK

Page 49: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Native network in Docker– Bridge– SDN– …

• Pluggable• Isolated

Page 50: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

ORCHESTRATION

Page 51: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Orchestration• CoreOS• Mesos• Tutum• Helios (Spotify)• Kubernetes (Google)

Page 52: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 53: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 54: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 55: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 56: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

ECOSYSTEM

Page 57: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Ecosystem• Plennnnnnnty of projects– Mini-PaaS– Service discovery– Orchestrator– Launcher

• Everyone wants to be part of it !

Page 58: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 59: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• Some really nice projects– CoreOS– Deis/Flynn– Mesos– Project Atomic– Tutum– Joyent Triton

Page 60: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

USECASES

Page 61: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 62: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 63: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 64: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

Page 65: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

WHAT’S NEW ?Dockercon June

Page 66: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

• OpenContainer project– runc– appc

• Docker on Windows native• Pluggable addon

Page 67: Meetup Docker : From Zero to Hero

Les Meetups Veille Techno’

SUJETARTICLE DU MONDE

CONTENU ARTICLE

THEME

Les Meetups Veille Techno’