- Octopus, a “tentacular” shield for Arduino and FishinoPosted 4 days ago
- Keychainino: a programmable, playful Key RingPosted 2 weeks ago
- Let’s Build an open source Quadcopter – Part2Posted 3 weeks ago
- Let’s Build an open source Quadcopter – Part1Posted 4 weeks ago
- An open source 3D Scanner made with Raspberry PiPosted 1 month ago
- Open Wheels 2: an all-in-one board to control any of your robotic ProjectsPosted 1 month ago
- GuppY: Fishino becomes NanoPosted 2 months ago
- FISHINO becomes MegaPosted 2 months ago
- Discovering OpenSCAD – part 2: advanced functionsPosted 2 months ago
- How to make an OpenSource Vertical PlotterPosted 2 months ago
Using Docker to run Node.js on a Raspberry Pi
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