Ajeet Raina Docker Captain, ARM Innovator & Docker Bangalore Community Leader.

Running Docker on Raspberry Pi in 5 minutes

1 min read

Docker support for Raspberry Pi was introduced for the first time in 2016 with 1.12 release. . With Docker v1.12.1 release, a FIRST ARM debian package was 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 https://get.docker.com/ | sh “` to get the latest Docker 1.12.1 running on your Raspbian/Jessie Linux OS. Amazing, isn’t it?

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.

14117817_10208347498098315_7577435330162790622_n

Hardware:

  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

                                                                                            Source~http://www.rlocman.ru/i/Image/2016/02/29/RaspberryPi_3_1.jpg

Software:

  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

Steps:

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

4

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.

Win32

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:


23

RaspbainOS

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 🙂

10

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

       $curl -sSL https://get.docker.com/ | sh

11

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.

345

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.

14100423_10208347499138341_3718483022828872551_n

Let’s try the Swarm Mode:

12

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

13

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.

Have Queries? Join https://launchpass.com/collabnix

Ajeet Raina Docker Captain, ARM Innovator & Docker Bangalore Community Leader.

25 Replies to “Running Docker on Raspberry Pi in 5 minutes”

  1. 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 🙂

    1. 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.

  2. Hi! I`m having problem with the AUFS support!
    #sudo curl -sSL https://get.docker.com/ | 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 ?
    Thanks!

      1. 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?

  3. 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!

  4. 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!

  5. 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!

  6. I’m impressed, I must say. Seldom do I encounter a blog that’s both equally educative and amusing, and let me tell you, you have hit the nail on the head. The problem is something not enough men and women are speaking intelligently about. I am very happy I stumbled across this during my search for something regarding this.|

  7. It’s a pity you don’t have a donate button! I’d certainly donate to this brilliant blog! I guess for now i’ll settle for bookmarking and adding your RSS feed to my Google account. I look forward to brand new updates and will share this website with my Facebook group. Talk soon!|

Leave a Reply

Your email address will not be published.