Slide 1

Slide 1 text

Introduction Docker Martina Kraus 22.03.2017 @wing121 github.com/codekittey

Slide 2

Slide 2 text

Agenda ● Docker Basics? ○ What is Docker? ○ Why should I docker? ○ Core concepts ○ Containers and images ● Dockerfile ● Docker-Compose Break ● Live Demo/ Hands On: Learning Docker together wit Bday #Labs 2

Slide 3

Slide 3 text

What is Docker? Image: http://www.docker.com 3

Slide 4

Slide 4 text

Image: http://www.docker.com 4 What is Docker?

Slide 5

Slide 5 text

Docker is the world’s leading software container platform. Developers: use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators: use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises: use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps. What is Docker?

Slide 6

Slide 6 text

Why should I Docker? Since (März 2013): (https://github.com/docker/docker) ● > 40, 000 stars ● > 2000 Contributors ● > 2000 dockerized applications and images: ○ Redis, Node.js, Hadoop, MySQL, PostgreSQL ● Integration with Jenkins, Travis, Chef, Puppet, Vagrant and OpenStack ● Docker-Meetups everywhere!!!! ○ DockerCon 6

Slide 7

Slide 7 text

Core concepts Image: http://www.docker.com 7

Slide 8

Slide 8 text

Details ● Isolated process-memory, ● Every container has its own network, ● Container === isolated process, ● OS kernel sharing, ● Docker is written in Go, ● Native use for Mac OS, Windows and Linux 8

Slide 9

Slide 9 text

• Standardized packaging for software and dependencies • Isolate apps from each other • Share the same OS kernel • Works for all major Linux distributions • Containers native to Windows Server 2016 What is a container?

Slide 10

Slide 10 text

Docker-Images ● Fundament of Containers, ● Multiple containers can run using the same Docker-Image, ● Docker-Store contains some good basic images: ○ Nginx, ○ Node.JS, ○ MySQL, ● Containers are isolated from the Host and any other Containers: ○ You can decide what to share: ■ Ports, ■ Volumes (for persistent data (for database containers)), ■ networks, 10

Slide 11

Slide 11 text

Let’s write our first Dockerfile 11

Slide 12

Slide 12 text

Docker-Compose Define and run multi-container applications (services) with Docker ● Current Version: v1.11.2 ● Offers cli-tools for container management: ○ Start ○ Stop ○ Rebuild 12

Slide 13

Slide 13 text

Let’s write our first docker-compose file 13

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

15 Martina Kraus @wing121

Slide 16

Slide 16 text

Further Readings ● https://github.com/wsargent/docker-cheat-sheet ● https://docs.docker.com/ ● https://docs.docker.com/compose/ 16