20
Mastering Docker on a Raspberry Pi these days it's easy, but a long time ago... Dieter Reuter @Quintus23M Hypriot Team @HypriotTweets http://blog.hypriot.com Docker Meetup Belgium / February 10th, 2016 1 / 20

Mastering Docker on a Raspberry Pi

Embed Size (px)

Citation preview

Page 1: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 1 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Mastering Docker on a Raspberry Pithese days it's easy, but a long time ago...

Dieter Reuter @Quintus23M

Hypriot Team @HypriotTweets – http://blog.hypriot.com

Docker Meetup Belgium / February 10th, 2016

1 / 20

Page 2: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 2 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Agenda1. Introduction

2. Goals

3. Ways

4. Concepts

5. Demo

6. Status

2 / 20

Page 3: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 3 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Introductionit's all about team work

Me, Dieter Reuter

Consultant at daytimeHacker & Pirate by night

Hypriot Team

five individuals: Andreas, Dieter, Govinda, Mathias, Stefan[x] devs[x] devops[x] architects[x] consultants

--> We're scaling Docker containers - in a different way!

3 / 20

Page 4: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 4 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

GoalsContainers and the Internet of Things

evangelizing to use Docker container on ARM boards

convincing Docker containers for IoT applications

enabling the Docker ecosystem on low-powered devices

Gartner says 6.4 billion connected "Things" will be in use in 2016, up 30 percentfrom 2015

In turn, that number is expected to further explode by 2020, where the IoTmarket will include 20.8 billion things

--> pushing the Docker technology into the IoT world

4 / 20

Page 5: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 5 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Ways - 1. Iterationrun a proof-of-concept

select the Raspberry Pi as a popular device

tried to run Docker on a RPi model B

found only outdated tutorialsusing ArchLinux was "special"upgrading Raspbian takes 5 to 6 hours

let's improve this situation!

need to compile Docker on ARMv6need to create a special Linux kernelneed to package all into a new SD card image

5 / 20

Page 6: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 6 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

--> in the end, we built HypriotOS (based on Raspbian/Debian)

6 / 20

Page 7: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 7 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Ways - 2. Iteration - Updatesporting the complete Docker ecosystem to ARM

Docker Compose

Docker Swarm

Docker Machine

created all Docker releases for ARM just-in-time

from Docker 1.4 until 1.10 (sometimes minutes after release!)

shipping every new Linux kernel version

from 3.18 until 4.1.12

switching to Raspbian Jessie

included support for the Raspberry 7" Touch Display

7 / 20

Page 8: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 8 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

--> complete Docker toolset on ARM

8 / 20

Page 9: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 9 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Ways - 3. Iteration - Cluster Labcreate a learning platform for clusters

cheap, using 3 to 5 Raspberry Pi's and a network switch

easy to setup a cluster with HypriotOS and Docker

Google's Kubernetes team members did it!

ready for classes in univercity

ready for talks and live demos

ready for professional trainings too

9 / 20

Page 10: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 10 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

--> Hypriot Cluster Lab is just flash and boot.

10 / 20

Page 11: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 11 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Ways - 4. Iteration (under construction!)create a container OS for ARM devices

using a mainline Linux distro (Debian Jessie)

building blocks for ready-to-use SD images

support all important ARM devices

Raspberry Pi

ODROID C1+, XU4

Banana Pi

BeagleBoneBlack

Pine A64+

ODROID C2

11 / 20

Page 12: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 12 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

--> device list will be continued...

12 / 20

Page 13: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 13 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Concepts - Easy Building Blockssmall and simple pieces

easy to understand

easy to develop

easy to maintain

--> combine it like LEGO bricks

13 / 20

Page 14: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 14 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Concepts - Full Transparencydevelop locally (Vagrant + Docker)

automated build server (Travis + Docker)

automated testing (ServerSpec)

automated releasing (GitHub releases)

--> every single detail is visible

14 / 20

Page 15: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 15 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Concepts - Parts and Ideasthe new HypriotOS

a Debian-based root filesystem (32 and 64-bit)

a board specific layer

Linux kernelfirmwarebootloader

a common layer

Hypriot specific settings and toolsDocker EngineCompose, Swarm, Machine

an optional application layer

Hypriot Cluster Lab

--> creating ready-to-run SD card images

15 / 20

Page 16: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 16 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Concepts - Open Source EverythingAll these parts are already open sourced at GitHub https://github.com/hypriot

root filesystem: https://github.com/hypriot/os-rootfs

raw image: https://github.com/hypriot/image-builder-raw

Raspberry Pi: https://github.com/hypriot/image-builder-rpi

ODROID C1/C1+: https://github.com/hypriot/image-builder-odroid-c1

Banana Pi: https://github.com/hypriot/image-builder-bananapi

Come and try it out

hack on it

improve it

add new boards and features

--> we need your help !

16 / 20

Page 17: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 17 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Demo

17 / 20

Page 18: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 18 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Current Status of HypriotOSactive Docker ARM community

Gitter channel (> 280 users)

Twitter is growing fast (> 750 followers)

increasing download numbers (Cloudflare helps)

everybody is using Docker on ARM right now

HypriotOS is the easiest way around

download and boot takes just 5 minutes

--> break all limits with the new HypriotOS !

18 / 20

Page 19: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 19 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Thank Youand let's stay in contact:

Find me on Twitter: @Quintus23M

Hypriot Blog: http://blog.hypriot.com

Hypriot on Twitter: @HypriotTweets

GitHub: https://github.com/hypriot

Gitter: https://gitter.im/hypriot/talk

19 / 20

Page 20: Mastering Docker on a Raspberry Pi

26/02/16 4:33 PMTitle

Page 20 of 20file:///Users/dieter/code/github/hypriot/hypriot-talks/20160210-Docker-Meetup-Belguim/Mastering-Docker-on-a-Raspberry-Pi.html#1

Let's Swarm the Pirate WayHappy Hacking !

20 / 20