SlideShare une entreprise Scribd logo
1  sur  39
Introduction to Docker
About me
Frederik Mogensen
Software Pilot at Trifork
Focus on Docker, orchestration and ci/cd
Agenda
Containers are NOT VMs
Working with Docker (Build, Ship, Run)
Container Architecture
But Why?
Multi-container applications
Docker Compose
Docker Swarm
Getting started
Q & A
Containers are not VMs
5
Docker containers are NOT VMs
• Easy connection to make
• Fundamentally different architectures
• Fundamentally different benefits
6
VMs
7
Containers
8
They’re different, not mutually exclusive
Build, Ship, and Run
11
Some Docker vocabulary
Docker Image
The basis of a Docker container. Represents a full application
Docker Container
The standard unit in which the application service resides and executes
Docker Engine
Creates, ships and runs Docker containers deployable on a physical or
virtual, host locally, in a datacenter or cloud service provider
Registry Service (Docker Hub or Docker Trusted Registry)
Cloud or server based storage and distribution service for your images
Basic Docker Commands
$ docker pull mikegcoleman/catweb:latest
$ docker images
$ docker run -d -p 5000:5000 --name catweb mikegcoleman/catweb:latest
$ docker ps
$ docker stop catweb (or <container id>)
$ docker rm catweb (or <container id>)
$ docker rmi mikegcoleman/catweb:latest (or <image id>)
Dockerfile – Linux Example
13
• Instructions on
how to build a
Docker image
• Looks very similar
to “native”
commands
• Important to
optimize your
Dockerfile
Basic Docker Commands
$ docker build –t mikegcoleman/catweb:2.0 .
$ docker push mikegcoleman/catweb:2.0
15
Put it all together: Build, Ship, Run Workflow
Developers IT Operations
BUILD
Development Environments
SHIP
Create & Store Images
RUN
Deploy, Manage, Scale
Docker Container Architecture
Image Layers
Kernel
Alpine Linux
Install Python and Pip
Upgrade Pip
Copy Requirements
Install Requirements
…
What about data persistence?
• Volumes allow you to specify a directory in the container that exists outside of the
docker file system structure
• Can be used to share (and persist) data between containers
• Directory persists after the container is deleted
• Unless you explicitly delete it
• Can be created in a Dockerfile or via CLI
Enterprises are looking to Docker for critical
transformations
80%
Docker is central to
cloud strategy
Docker Survey: State of App development : Q1 - 2016
3 out 4
Top initiatives revolve
around applications
44%
Looking to adopt DevOps
App
Modernization
DevOpsCloud
State of App development Survey: Q1 2016
25
Docker delivers speed, flexibility and savings
+ +Agility Portability Control
State of App development Survey: Q1 2016, Cornell University case study
13XMore software releases
62%Report reduction in MTTR
10XCost reduction in maintaining
existing applications
Eliminate
“works on my machine”
issues
41%Move workloads across
private/public clouds
65%Reduction in developer
onboarding time
One platform delivers one journey for all applications
1 Containerize Legacy Applications
Lift and shift for portability and efficiency
2
3
Transform Legacy to Microservices
Look for shared services to transform
Accelerate New Applications
Greenfield innovation
Defining and running multi-container Docker applications
29
Multiple container application in Docker
$ docker pull mysql
$ docker pull wordpress
$ docker run -d --name=db -e MYSQL_ROOT_PASSWORD=root mysql
$ docker run --name=wp -p 8000:80 --link db:db 
-e WORDPRESS_DB_HOST=db 
-e WORDPRESS_DB_PASSWORD=root wordpress
Docker Compose - YAML
version: '2'
services:
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
wp:
depends_on:
- db
image: wordpress
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_PASSWORD: root
$ docker pull mysql
$ docker pull wordpress
$ docker run -d --name=db
-e MYSQL_ROOT_PASSWORD=root mysql
$ docker run --name=wp 
-p 8000:80 
--link db:db 
-e WORDPRESS_DB_HOST=db 
-e WORDPRESS_DB_PASSWORD=root 
wordpress
Docker Compose - YAML
version: '2'
services:
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
wp:
depends_on:
- db
image: wordpress
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_PASSWORD: root
$ docker-compose up
$ docker-compose ps
$ docker-compose stop
Setting up a basic docker cluster
Docker Swarm mode
// http://play-with-docker.com
$ docker swarm init --advertise-addr eth0
// join nodes
$ docker swarm join ...
$ docker node ls
The Vote Application
Docker Swarm mode
// download stack definition
$ curl -O https://raw.githubusercontent.com/docker/example-voting-
app/master/docker-stack.yml
// Spin up cluster
$ docker stack deploy -c docker-stack.yml vote
Docker on Linux
• Create a Linux VM (or use physical), and install Docker
−Requires kernel 3.10
• Stable builds
−curl –sSL https://get.docker.com/ | sh
• Test and experimental builds
−curl –sSL https://test.docker.com/ | sh
−curl –sSL https://experimental.docker.com/ | sh
• Can also manually install (see docs)
Docker for Windows / Mac
• Currently in public beta
• Easy to install: Get up and running on Docker in minutes
• Leverages Hyper-V (Windows) or xhyv (Mac)
− Docker for Windows requires Windows Pro 10, Enterprise, or Education
• Full API / CLI compatibility
• OS integration for increased stability and speed
Docker for Azure / AWS
• Easily deploy Docker 1.12 Swarm clusters (Linux)
• Scale up and down easily
• Integrate with underlying platform (i.e. load balancers)
Docker + Windows Server = Windows
Containers
• Native Windows containers
powered by Docker Engine
• Windows kernel engineered with
new primitives to support
containers
• Deep integration with 2+ years of
engineering collaboration in Docker
Engine and Windows Server
• Microsoft is top 5 Docker open
source project contributor and a
Docker maintainer
Infrastructure
Windows Server 2016
Bins/Libs
App
Docker Engine
Bins/Libs
App
Bins/Libs
App
Walk, Jog, Run
Walk:
• Setup your preferred Docker environment
• Fire up some prebuilt images (nginx, hello-world, mikegcoleman/catweb)
Jog:
• Pick a well documented solution (Wordpress, Jenkins, etc)
• Build it for yourself (blogs are your friend)
Run:
• Extend one your Walk solution or Dockerize an existing project
• Build your own Dockerfiles
• Experiment with Docker Compose and Swarm Mode
Where to go from here?
https://github.com/docker/labs
https://prakhar.me/docker-curriculum/
https://europe-2017.dockercon.com/
Thank You.
Questions?
Introduction to docker

Contenu connexe

Tendances

What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 

Tendances (20)

Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefits
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 

Similaire à Introduction to docker

Similaire à Introduction to docker (20)

Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Docker
DockerDocker
Docker
 
SS Introduction to Docker
SS Introduction to DockerSS Introduction to Docker
SS Introduction to Docker
 
Docker slides
Docker slidesDocker slides
Docker slides
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
Docker Use Cases.pdf
Docker Use Cases.pdfDocker Use Cases.pdf
Docker Use Cases.pdf
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Docker 1.9 Workshop
Docker 1.9 WorkshopDocker 1.9 Workshop
Docker 1.9 Workshop
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Faster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker PlatformFaster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker Platform
 
Docker For Windows | Setting Up Docker On Windows | Edureka
Docker For Windows | Setting Up Docker On Windows | EdurekaDocker For Windows | Setting Up Docker On Windows | Edureka
Docker For Windows | Setting Up Docker On Windows | Edureka
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Docker Introduction SDP 12-2015
Docker  Introduction  SDP 12-2015Docker  Introduction  SDP 12-2015
Docker Introduction SDP 12-2015
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker Enterprise
 
Axigen on docker
Axigen on dockerAxigen on docker
Axigen on docker
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Introduction to docker

  • 2. About me Frederik Mogensen Software Pilot at Trifork Focus on Docker, orchestration and ci/cd
  • 3. Agenda Containers are NOT VMs Working with Docker (Build, Ship, Run) Container Architecture But Why? Multi-container applications Docker Compose Docker Swarm Getting started Q & A
  • 5. 5 Docker containers are NOT VMs • Easy connection to make • Fundamentally different architectures • Fundamentally different benefits
  • 8. 8 They’re different, not mutually exclusive
  • 10.
  • 11. 11 Some Docker vocabulary Docker Image The basis of a Docker container. Represents a full application Docker Container The standard unit in which the application service resides and executes Docker Engine Creates, ships and runs Docker containers deployable on a physical or virtual, host locally, in a datacenter or cloud service provider Registry Service (Docker Hub or Docker Trusted Registry) Cloud or server based storage and distribution service for your images
  • 12. Basic Docker Commands $ docker pull mikegcoleman/catweb:latest $ docker images $ docker run -d -p 5000:5000 --name catweb mikegcoleman/catweb:latest $ docker ps $ docker stop catweb (or <container id>) $ docker rm catweb (or <container id>) $ docker rmi mikegcoleman/catweb:latest (or <image id>)
  • 13. Dockerfile – Linux Example 13 • Instructions on how to build a Docker image • Looks very similar to “native” commands • Important to optimize your Dockerfile
  • 14. Basic Docker Commands $ docker build –t mikegcoleman/catweb:2.0 . $ docker push mikegcoleman/catweb:2.0
  • 15. 15 Put it all together: Build, Ship, Run Workflow Developers IT Operations BUILD Development Environments SHIP Create & Store Images RUN Deploy, Manage, Scale
  • 17. Image Layers Kernel Alpine Linux Install Python and Pip Upgrade Pip Copy Requirements Install Requirements …
  • 18. What about data persistence? • Volumes allow you to specify a directory in the container that exists outside of the docker file system structure • Can be used to share (and persist) data between containers • Directory persists after the container is deleted • Unless you explicitly delete it • Can be created in a Dockerfile or via CLI
  • 19.
  • 20. Enterprises are looking to Docker for critical transformations 80% Docker is central to cloud strategy Docker Survey: State of App development : Q1 - 2016 3 out 4 Top initiatives revolve around applications 44% Looking to adopt DevOps App Modernization DevOpsCloud State of App development Survey: Q1 2016
  • 21. 25 Docker delivers speed, flexibility and savings + +Agility Portability Control State of App development Survey: Q1 2016, Cornell University case study 13XMore software releases 62%Report reduction in MTTR 10XCost reduction in maintaining existing applications Eliminate “works on my machine” issues 41%Move workloads across private/public clouds 65%Reduction in developer onboarding time
  • 22. One platform delivers one journey for all applications 1 Containerize Legacy Applications Lift and shift for portability and efficiency 2 3 Transform Legacy to Microservices Look for shared services to transform Accelerate New Applications Greenfield innovation
  • 23. Defining and running multi-container Docker applications
  • 24. 29 Multiple container application in Docker $ docker pull mysql $ docker pull wordpress $ docker run -d --name=db -e MYSQL_ROOT_PASSWORD=root mysql $ docker run --name=wp -p 8000:80 --link db:db -e WORDPRESS_DB_HOST=db -e WORDPRESS_DB_PASSWORD=root wordpress
  • 25. Docker Compose - YAML version: '2' services: db: image: mysql environment: MYSQL_ROOT_PASSWORD: root wp: depends_on: - db image: wordpress ports: - "8000:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_PASSWORD: root $ docker pull mysql $ docker pull wordpress $ docker run -d --name=db -e MYSQL_ROOT_PASSWORD=root mysql $ docker run --name=wp -p 8000:80 --link db:db -e WORDPRESS_DB_HOST=db -e WORDPRESS_DB_PASSWORD=root wordpress
  • 26. Docker Compose - YAML version: '2' services: db: image: mysql environment: MYSQL_ROOT_PASSWORD: root wp: depends_on: - db image: wordpress ports: - "8000:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_PASSWORD: root $ docker-compose up $ docker-compose ps $ docker-compose stop
  • 27. Setting up a basic docker cluster
  • 28. Docker Swarm mode // http://play-with-docker.com $ docker swarm init --advertise-addr eth0 // join nodes $ docker swarm join ... $ docker node ls
  • 30. Docker Swarm mode // download stack definition $ curl -O https://raw.githubusercontent.com/docker/example-voting- app/master/docker-stack.yml // Spin up cluster $ docker stack deploy -c docker-stack.yml vote
  • 31.
  • 32. Docker on Linux • Create a Linux VM (or use physical), and install Docker −Requires kernel 3.10 • Stable builds −curl –sSL https://get.docker.com/ | sh • Test and experimental builds −curl –sSL https://test.docker.com/ | sh −curl –sSL https://experimental.docker.com/ | sh • Can also manually install (see docs)
  • 33. Docker for Windows / Mac • Currently in public beta • Easy to install: Get up and running on Docker in minutes • Leverages Hyper-V (Windows) or xhyv (Mac) − Docker for Windows requires Windows Pro 10, Enterprise, or Education • Full API / CLI compatibility • OS integration for increased stability and speed
  • 34. Docker for Azure / AWS • Easily deploy Docker 1.12 Swarm clusters (Linux) • Scale up and down easily • Integrate with underlying platform (i.e. load balancers)
  • 35. Docker + Windows Server = Windows Containers • Native Windows containers powered by Docker Engine • Windows kernel engineered with new primitives to support containers • Deep integration with 2+ years of engineering collaboration in Docker Engine and Windows Server • Microsoft is top 5 Docker open source project contributor and a Docker maintainer Infrastructure Windows Server 2016 Bins/Libs App Docker Engine Bins/Libs App Bins/Libs App
  • 36. Walk, Jog, Run Walk: • Setup your preferred Docker environment • Fire up some prebuilt images (nginx, hello-world, mikegcoleman/catweb) Jog: • Pick a well documented solution (Wordpress, Jenkins, etc) • Build it for yourself (blogs are your friend) Run: • Extend one your Walk solution or Dockerize an existing project • Build your own Dockerfiles • Experiment with Docker Compose and Swarm Mode
  • 37. Where to go from here? https://github.com/docker/labs https://prakhar.me/docker-curriculum/ https://europe-2017.dockercon.com/