29
INTRODUCTION TO DOCKER ADRIAN MOUAT

INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

INTRODUCTION TODOCKER

ADRIAN MOUAT

Page 2: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

SO WHAT IS DOCKER?

Page 3: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

SIMILAR TO A LIGHTWEIGHTVM

Both provide isolated environments

Docker is much more efficient

64-bit Linux only (currently)

Page 4: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

CONTAINERIZATIONA Docker container is a portable store for a single component

and its dependencies

Page 5: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

THE SHIPPING METAPHORTraditionally, cargo was shipped as "bulk" and "break bulk"

Think sacks of coffee beans, barrels of oil etc.

Lots of manual work

Page 6: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

MEET THE INTERMODALCONTAINER

Holds goods of different shapes and sizes

Shipping company doesn't care as long as it comes in astandard container

Cranes, ships, forklifts, lorries all support standardcontainers

Huge gain in efficiency

Page 7: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

THE SOFTWARE SITUATIONModern applications have lots of components

database, webserver, loadbalancer..

And lots of enivronments

developer's laptop, testing VM, staging server, cloud

Problems moving between them

Page 8: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

MEET THE DOCKERCONTAINER

Put anything you like in a container

Database, Web server, proxy etc

Ship it anywhere

Use the same container in development, testing andproduction

Provides sandboxing

Isolates dependencies

Page 9: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

VMS VS CONTAINERS

Page 10: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

ENOUGH THEORY!

Page 11: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

DEMO TIME!

Page 12: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

CONTAINERIZATIONA Docker image is a portable store for a single component and

its dependencies

Page 13: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

DOCKER IMAGESLike a stopped VMBuilt from DockerfilesList of repeatable stepsMongo Dockerfile

Page 14: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

BUT DOCKER IS MORE THANTHIS

Aims to be an "open platform"Key to this is the Docker Hub

Page 15: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient
Page 16: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

USE CASES

Page 17: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

CONTINUOUS DELIVERYFast deployment pipelineAutomatic testing and integrationSoftware is always production readyCan deploy new version at "push of a button"

Page 18: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

WHERE DOCKER COMES INReduces difference between dev and productionDevops tool

Developers define dependenciesOperations concentrate on hosting containers

Faster system tests

Page 19: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

MICROSERVICESApplication made up of many small independent servicesAs opposed to monolithic applicationsCan easily scale and replace servicesProblems

Deciding where to separate servicesLarger system (more VMs)

Page 20: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

PREREQUISITESRapid ProvisioningBasic MonitoringRapid Application DeploymentDevops Culture

http://martinfowler.com/bliki/MicroservicePrerequisites.html

Page 21: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

WHERE DOCKER COMES INRapid Provisioning

Good cloud supportboth private and public

Greater efficiency means less hardwareRapid Application Deployment

Much faster to spin up containersDesigned to be part of a pipeline

Devops CultureDocker is a DevOps tool!

Page 22: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

WRAPPING APPLICATIONSPutting applications in containerExisting desktop appsGUI and command-lineFor normal end users

Page 23: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

WHY?Easy InstallSafePortableHub for Distribution

Page 24: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

EXAMPLES

Page 25: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient
Page 26: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

DEVELOPMENTENVIRONMENTS

Share pre-configured set-upPlug-ins, source repositories, coding standardsAlso Vagrant

Page 27: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

ERR, THIS?Fit of rage at PowerpointDecided to try reveal.jsHard to install

Node, NPM, Grunt...

Page 28: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

CONCLUSIONContainers are the future!Likely to be ubiquitousWide range of use cases

Some we haven't seen yet

Page 29: INTRODUCTION TO DOCKER - Trifork...INTRODUCTION TO DOCKER ADRIAN MOUAT SO WHAT IS DOCKER? SIMILAR TO A LIGHTWEIGHT VM Both provide isolated environments Docker is much more efficient

Chief Scientist @ Container Solutions

Writing "Using Docker" for O'Reilly

@adrianmouat

http://www.container-solutions.com