
This line names a base image to start with. Here's the one I wrote (with explanations interpolated): FROM node:14 To build an image, you write a Dockerfile, which is a script of actions that modify the guest computer's storage when the script finishes, the storage is snapshotted into a file on the host. Set things up so that the app running on the guest can display a window on my Mac.

(To run a guest computer you load an image into a container. I went through the getting started tutorial, it was great.īuild an image containing the base Linux installation and any extra libraries needed to run my app. Here is what I needed to do at a high level: Mostly why this was complicated is that Programmable Matter is based on Electron, which makes some unusual demands of the operating system it runs on. Nonetheless I ran into a lot of puzzling stuff and did a whole lot of Googling to get it working. I have a vague idea how this all works but I still find it extremely magical! Docker seems to be very well put together and everything worked really smoothly for me. You can use it to develop and test software on other OSes (or different versions of your host OS) or to bundle up a bunch of software packages so users can install and uninstall them all together or to run programs in a restricted environment so they can't damage the host.

I had not used Docker before so this was an adventure! I learned a lot.ĭocker lets you run virtual computers (I'll call them guests, although this is not official Docker terminology ) inside your computer (the host ), and guests can run different operating systems from the one the host runs. So the past few days I have been getting it running on Linux on Docker in order to fix it. My co-Recurser Hazem tried running Programmable Matter on Linux, and it didn't work very well (I had previously run it only on my Mac). Jake Donham > Technical Difficulties > How to run Electron on Linux on Docker on Mac How to run Electron on Linux on Docker on Mac
