- How to make an OpenSource Vertical PlotterPosted 4 days ago
- Discovering OpenSCAD – part 1: basic functionsPosted 1 week ago
- Let’s transform Raspberry Pi into a performing and inexpensive Media CenterPosted 2 weeks ago
- COLIBRÌ: the driver for RGBW LEDsPosted 3 weeks ago
- Create a connected Fish Tank with FishinoPosted 1 month ago
- Buiding an arcade coin-op machine to rediscover the 80-90s with RetroPiePosted 1 month ago
- Which is the best (open source) 3D printer?Posted 1 month ago
- The ESP WiFi Shield: the best value for money and low energy consumptionPosted 2 months ago
- Creating a Network of Nodes with LoRa ShieldPosted 2 months ago
- Using LoRa shield in Packet ModePosted 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