38
he busy developers guide to Docke Maurice de Beijer @mauricedb

The busy developers guide to Docker

Embed Size (px)

Citation preview

Page 1: The busy developers guide to Docker

The busy developers guide to Docker

Maurice de Beijer @mauricedb

Page 2: The busy developers guide to Docker

2

Who am I?

• Maurice de Beijer• The Problem Solver• Microsoft Azure MVP• Freelance developer/instructor• Twitter: @mauricedb and @React_Tutorial• Web:http://www.TheProblemSolver.nl• E-mail: [email protected]

Page 3: The busy developers guide to Docker

3

Overview

• What are containers• Why use container technology?• What is Docker• Creating and running Docker images• Running an ASP.NET Core 1.0 App in a Docker

container• But we need more

Page 4: The busy developers guide to Docker

4

What is a container?

Page 5: The busy developers guide to Docker

5

Once upon a ship

Page 6: The busy developers guide to Docker

6Loading cargo the old way

Page 7: The busy developers guide to Docker

7

A container ship these days

Page 8: The busy developers guide to Docker

8

Loading is a bit faster

Page 9: The busy developers guide to Docker

9

Running virtual machines

Page 10: The busy developers guide to Docker

Virtual Machines vs Containers

10

Page 11: The busy developers guide to Docker

11

NamespacesCgroupsUnion file system

Page 12: The busy developers guide to Docker

What is Docker?

12

Page 13: The busy developers guide to Docker

Docker Hub

13

Page 14: The busy developers guide to Docker

14

Why use Docker?

• Package an application with it’s dependencies• Dev environment behaves exactly like production• Less overhead means more deployments on a server• Deploy the same container in different clouds• Not just for cloud computing• Docker has standardized container formats• It’s open source

Page 15: The busy developers guide to Docker

15

Some other Docker Use Cases

• Simulate deployed environment during development– Each container simulates a machine

• Share containers between developers– Database containers with sample data• Also use in the (automated) QA environment

– Build containers with compilers and libraries• Also use in the CI environment

Page 16: The busy developers guide to Docker

16

Build

ing

cont

aine

rs

Page 17: The busy developers guide to Docker

17

Useful docker image commands

• docker images• docker pull <image name>• docker build –t <image name> <folder>• docker run <image name>• docker rmi <image id>• docker rmi $(docker images -q -f dangling=true)

Page 18: The busy developers guide to Docker

18

Useful docker container commands

• Docker ps• docker logs <container name>• docker stop <container name>• docker start <container name>• docker kill <container id>• docker rm <container id>• docker rm $(docker ps -a -q)

Page 19: The busy developers guide to Docker

19

Page 20: The busy developers guide to Docker

20

Orchestration

Page 21: The busy developers guide to Docker

21

Dock

er C

ompo

se

Page 22: The busy developers guide to Docker

22

Page 23: The busy developers guide to Docker

23

The

min

imal

Doc

kerfi

le

Page 24: The busy developers guide to Docker

24

ASP.

NET

Cor

e 1.

0 Ap

pon

Lin

ux

Page 25: The busy developers guide to Docker

25

Dock

er o

n W

indo

ws

Page 26: The busy developers guide to Docker

26

Page 27: The busy developers guide to Docker

27

Containers can be great…

Page 28: The busy developers guide to Docker

28

Page 29: The busy developers guide to Docker

29…with the right tools!

Page 30: The busy developers guide to Docker

30

Page 31: The busy developers guide to Docker

31

Page 32: The busy developers guide to Docker

32

Page 33: The busy developers guide to Docker

33

Page 34: The busy developers guide to Docker

34

Page 35: The busy developers guide to Docker

35

Page 36: The busy developers guide to Docker

36

Page 37: The busy developers guide to Docker

37

Page 38: The busy developers guide to Docker

38Maurice de Beijer - @mauricedb