Using Docker to run Node.js on a Raspberry Pi

By on January 6, 2016

Docker is a tool for using Linux containers, which are an interesting topic in and of themselves. In a nutshell, you can think about them as either very light weight virtual machines that can run side-by-side on a host machine at near-native speed. In actuality, Docker containers are not virtual machines at all, but processes which run in (nearly) complete isolation from other processes on the host machine, and carry with them the complete bundle of utilities and libraries to help that process run; basically, a pared down operating system just for your selected application.

As a Raspberry Pi tinkerer, this ease of replicating my environment had a lot of appeal, and working within the memory and processing constraints of a Raspberry Pi ruled out virtual machines as a means of doing it, so I wanted to see if I could get Docker up and running on my Raspberry Pi and then try it out.

The first challenge I came across, which will be obvious to anyone who has spent time with a Raspberry Pi, is that you’re going to need some patience. My old Raspberry Pi model B runs at 700 MHz and has only 512 MB of memory. Once upon a time, this would have seemed insanely fast, but as I’ve gotten used to having a considerably faster desktop and laptop at my disposal, let’s just say that building your containers may seem slow compared to what you’re used to.

The second challenge is also fairly obvious, but something worth keeping in mind. While you probably run an x86 processor on your computer, your Raspberry Pi’s processor uses an ARM chipset, so if you aren’t going to be able to copy a container from your main computer to your Pi and have it work. You can, of course, write your Dockerfile (the text file defining what goes into a container) locally and copy it over, and you can always model your container’s contents on a similar x86 container, but you’re going to have to actually build it on the Pi unless you happen to have a faster ARM-based computer sitting around.

The step-by-step guide and further ideas here: Using Docker to run Node.js on a Raspberry Pi

About Luca Ruggeri