The Nodesource Blog

Announcing N|Solid Docker Images with Alpine Linux

Today at DockerCon 2017, we are proud to announce that we now ship N|Solid Docker images built with Alpine Linux.

Alpine has a host of advantages for containerized Node.js applications. The most obvious advantage is the dramatically reduced base image size. Equally important, though, are faster build times and increased security.

The Alpine philosphy is to disable features by default making developers explicitly activate what they need - which, in turn, defaults to fewer unintentional paths to vulnerabilities.

In addition to smaller sizes, faster builds and improved security, Alpine is one of only a few Linux distros that take advantange of PaX to remove many typical security vulnerabilities, stopping a host of common bugs and exploits around issues with memory corruption like buffer overflows.

N|Solid Docker images, built with Alpine Linux, provide developer and operations teams with:

  • Dramatically smaller base images
  • Faster build times when using the N|Solid Docker images
  • Enhanced security and and opt-in feature set distribution
    • Opt-in features security paradigm
  • Ships with extra Linux security features like PaX built-in
  • Lastest version of Node.js LTS compatibility

N|Solid Apline images have been run and pass the entire Node.js test suite along with N|Solid internal test suite, with parity to the Node.js Alpine images. For compatibility we have also tested compiling of native modules on a wide variety of packages.

While the images are built with compatibility in the Node.js ecosystem as a key priority, there are occasional issues with native Node.js modules that are inherent to Node.js on Alpine. If you have a heavy dependency on native modules, be sure to test them on Alpine images before deploying to production - if you run into an issue, we'd be happy to assist if you reach out to the N|Support team.

N|Solid is a drop-in replacement for Node.js. To utilize in your current Node.js Docker workflow replace your FROM line with FROM nodesource/nsolid:alpine.

N|Solid Images on Docker Hub