Docker 1.12.1 on Raspberry Pi 3 in 5 minutes

Docker 1.12.1 Final Release got announced last Friday. This update release holds solid number of bug fixes and feature improvements targeted to make Swarm Mode orchestration more stable and consistent. There has been critical bug fixes around node management, service discovery,  ingress load-balancing and much more. But the BIG news comes for “Raspberry Pi” enthusiasts. With 1.12.1, a FIRST ARM debian package has been officially made available.In case you are wondering what it actually means? – If you have Raspberry Pi box and microSD card loaded with Raspbian OS inserted into Pi box, all you need is to power-on your Pi box and run curl -sSL | sh to get the latest Docker 1.12.1 running on your Raspbian/Jessie Linux OS.

If you still don’t believe me, here is a 5 minute guide for getting Docker 1.12.1 running on your Raspberry Pi 3.I assume you have the following minimal list of hardware & software ready with you.



  1. Raspberry Pi 3 ( You can order it from Amazon in case you are in India for $35)
  2. Micro-SD card reader ( I got it from here )
  3. Any Windows or Linux Desktop or Laptop
  4. HDMI cable ( I used the HDMI cable of my plasma TV)
  5. Internet Connectivity(Wifi/Broadband/Tethering using Mobile) – to download Docker 1.12.1 package
  6. Keyboard & mouse connected to Pi’s USB ports




  1. SD-Formatter – to format microSD card
  2. Win32 disk imager(in case you have Windows OS running on your laptop) – to burn Raspbian Jessie ISO into microSD card


  1. Format the microSD card using SD Formatter as shown below:



2. Download Raspbian Jessie OS from here and use Win32 imager(in case you are on Windows OS  running on your laptop) to burn it on microSD card.



3. Insert the microSD card into your Pi box. Now connect the HDMI cable  from one end of Pi’s HDMI slot to your TV or display unit and mobile charger(recommended 5.1V@1.5A) as shown:




Wow ! the Raspbian OS is up and running. By default, the username is pi and password is raspberry. I installed vncserver and could connect to Raspberry Pi’s while sitting on my sofa 🙂


Now it’s time to just run the one line command:

       $curl -sSL | sh


Start the docker service through the below command:

pi@raspberry6:~ $ sudo systemctl start docker.service
Warning: Unit file of docker.service changed on disk, ‘systemctl daemon-reload’ recommended.

Yipee ! You just got Docker 1.12.1 running on your amazing Pi box.



It just took 2 minutes for getting Docker 1.12.1 ready right from connecting the power supply and booting up my own Raspberry Pi 3 box. I was able to pull dozens of ARM based images from Dockerhub and it just works flawlessly. Amazed ! Impressed !

As I ordered for 2x Raspberry Pi , I want to try out Swarm Mode quickly.



Let’s try the Swarm Mode:


It was too easy to connect the worker node to the manager over the WLAN and the cluster is ready:


As I have just two Pi boxes, I couldn’t go further to test the Swarm Mode, though I am excited to run applications on this Swarm Mode cluster. I am planning to order for 2 more Pi’s soon so that I can test drive applications.

Meanwhile, I would suggest to refer the below links in case you are interested to see what’s happening in Docker space on Pi box. Alex Ellis, a Docker Captain, has contributed number of awesome blogs, seminars and talks around “Running Docker on Raspberry Pi”. Check it out:

Getting Started with Docker on Raspberry Pi

Live Deep Dive – Docker Swarm Mode on the Pi

Build Docker and Swarm on an ARM SoC like the Raspberry PI



  • Another route to docker for Pi users is LibreELEC; we’re a JeOS/minimalist distro about 115MB in size (vs 1GB+ for Raspian) for using Kodi mediacentre on current Pi (and other popular HTPC) hardware. LibreELEC has a docker add-on (currently 1.12.0, will be updated to 1.12.1 soon) to make supporting a number of complex DVB/IPTV related tools easier, but docker is docker and users are discovering it as a route to simple config of home-automation suites and other things too. LibreELEC is available via the Pi Foundations official ‘noobs’ installer and downloads page, or via our own SD card writing app. LibreELEC is packaged as an “embedded” distro with the entire OS in two main files making “platform” updates trivial. It’s not as flexible as Raspian for hardcore development and Linux tinkering, but more than enough to run a few containers, and you get a free mediacentre too 🙂

    • Great to know this. Will definitely try it out.

    • gnomic

      I would love to see this running on NTC’s $9 C.H.I.P. Computer!

      • I just saw This looks just great.
        Beauty is 4GB of in-built storage and quite competitive configuration. Wonder if this is available in India? thanks for sharing this.

  • Just curious, what are some of the uses of Docker on a RPi?

    • Thanks for reading the post. Docker is great at build, ship and running the application and hence you can run multiple use cases inside tiny Pi. For example, I can build container which does barcode scanner and put it on Dockerhub. You can simply install Docker on Pi and pull it onto Pi to Get started in no minutes. It just works out of box. You don’t need to see if the package is compatible with Pi arm architecture. The other way around is building IMG which contains pi + Docker + barcode python script which does scanning. If you have 100 of Pi boxes deployed in your lab, you can easily push the Docker container as it is very lightweight and get it deployed to work. Whatever use cases exist today for Pi, you can deploy it as container to save time and ensure that it always works.

  • Pingback: Weekly Roundup | Docker - Docker Blog()

  • Hi! I`m having problem with the AUFS support!
    #sudo curl -sSL | sh
    #modprobe: FATAL: Module aufs not found.
    #Warning: current kernel is not supported by the linux-image-extra-virtual
    # package. We have no AUFS support. Consider installing the packages
    # linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.

    But I cannot find this packages neither!
    #sudo apt-get install linux-image-extra-$(uname -r)
    # E: Unable to locate package linux-image-virtual-4.1.19
    # E: Couldn’t find any package by regex ‘linux-image-virtual-4.1.19’

    What can I do ?

    • What model of Raspberry Pi do you have? Which image does your SD card hold?

      • thom

        I’ll jump in on this, as it just happened to me, on a Rpi 3 with a fresh install of Raspian Jessy Lite
        Any help?

  • I’ll immediately snatch your rss as I can not find your email subscription hyperlink or e-newsletter service.

    Do you have any? Please allow me realize so that I could subscribe.


  • Pingback: Docker Online Meetup #42: Docker Captains Share Tips & Tricks for Using Docker 1.12 - Docker Blog()

  • Fantastic post but I was wanting to know if you could write a litte more on this
    subject? I’d be very thankful if you could elaborate a little bit more.
    Thank you!

  • This is a topic that’s close to my heart…
    Best wishes! Where are your contact details though?

  • Way cool! Some very valid points! I appreciate you penning this post and also the rest of
    the site is very good.

  • I do not even knoww how I ened up here, but I thought this post was great.
    I do not know who you are but definitely you’re going
    to a famous blogger if you are not already 😉 Cheers!

  • Pingback: Assessing the current state of Docker Engine & Tools on Raspberry Pi – Collabnix()

  • This is really interesting, You’re a very skilled blogger.
    I have joined your feed and look forward to seeking more of your fantastic post.
    Also, I’ve shared your web site in my social networks!

  • Pingback: Top Docker content of 2016 - Docker Blog()

  • My brother suggested I might like this blog. He was totally right.
    This post truly made my day. You cann’t imagine just how much time I had spent for this
    info! Thanks!

  • Thanks for finally writing about >Docker 1.12.1 on Raspberry Pi 3 in 5
    minutes – Collabnix <Liked it!