Build Docker and Swarm on an ARM SoC like the Raspberry PI
Shell JavaScript Nginx Makefile Python Go HTML
Latest commit 90e3967 Feb 14, 2017 @alexellis Refactor Dockerfile

README.md

Docker on ARM

After a lot of hard work it became official and Docker came to the Raspberry Pi.

In this repository you will find:

  • a curated list of links for getting started with Docker on Pi
  • tutorials around Swarm and Swarm Mode
  • ARM specific images to get you up and running in no time.

If you've not read the Raspberry Pi blog post then you can see it here:

Getting up close and personal with Docker Swarm Mode

Feedback & questions

I'm a Docker Captain so I'd love to hear from you with your questions, comments and suggestions on Twitter @alexellisuk or through the blog comments sections.

License & contributions

This content is licensed under GPLv3. Contributions to keep Dockerfiles up to date and relevant are welcome - also happy to extend the coverage and take updates to the guides. Please just raise an issue before the PR for discussion.

Lead articles

Since I started this repository the installation of Docker and its native clustering modes has changed. This section gives you a summary of tutorials for each part.

Getting started with Docker on the Pi

If you want to see what Docker can do on the Pi, or just want to learn about it then head over to this guide:

New Swarm Mode

Docker Swarm, originally 5 nodes, now 7

Check out my video where I set up a swarm with 7 different Raspbery Pi 2s and demo the Swarm Visualizer project.

For an overview of Swarm Mode:

Mano Marks put together a ReactJS Swarm Visualizer tool. It was originally demoed at Dockercon over three huge screens. He's accepting contributions so this is a great chance to pitch in.

OTG networking for Raspberry Pi

Set up Swarm Mode with OTG networking, look ma, no ethernet!

Physical Hardware and GPIO

One of the most exciting ways Docker and the Raspberry Pi work together is through GPIO. You can access hardware such as the products by Pimoroni through containers and build/ship/run/deploy your apps.

For a prime example see my Dockercon 2016 Demo of a set of IoT sensors:

Classic Docker Swarm

Up until Dockercon 2016 the Docker-way to create a swarm was through a special Docker image called swarm. This repository was commissioned to support a tutorial published in Issue 163 of Linux User and Developer Magazine. If you didn't get a copy of the magazine, you can pick up a digital edition or follow a simplified online guide.

Published print article

This article was retweeted by @Docker on Mar 31 2016, so head over to the blog and have a read.

Follow this quick-start guide to get Docker and/or Swarm up and running on your PI Zeros right away.

ARM specific images

If you want to try Docker or Docker Swarm on ARM or are already using it, then you will find these resources useful:

  • /images

No official Docker images work on the ARM architecture because they contain binaries built for x64 (regular PCs). I've curated separate images for PI 2/3 and PI Zero. You can read more about this in the Getting Started Tutorial

  • Nginx
  • Go 1.5
  • Go 1.6
  • Consul
  • Redis
  • Node.js 4.x
  • Several examples of GPIO
  • Build Docker itself

Contributions are welcome, please open an issue with your suggestion and once confirmed I'll be happy to merge the changes. You can also find a number of additional images maintained by the Hypriot team.

Looking for the old README for this repo?

Head over to README_CLASSIC.md

Copyright Alex Ellis 2016