On Monday, January 16th, I launched my Docker Recipes for Node.js Development pre-sale. The goal is to sell 100 copies of the early-access version of the book, as a way of funding further writing and development of the book.
As of writing this on Wednesday evening, January 18th, I’ve sold 85 copies!
I have to say this is selling faster than I expected, so far. But I know it can do better.
The original goal was to hit the 100 mark before February. It’s 85% of the way – so close to guaranteeing the book will be completed!
As such, I want to offer a new target and a bonus if the book hits that target.
New Goal: 100 Sales Before Monday, January 23rd
That’s the new goal – to sell 100 copies of the pre-release eBook before Monday, January 23rd.
That’s only 15 more copies than what has already been sold.
And that’s all it will take to guarantee continued work on the book, through completion!
But beyond the 100 sales goal for the book, I want to offer a bonus for helping the community hit this new goal.
Bonus Recipe: Speed Up npm install In Your Container
Writing software in a Docker container has a lot of advantages. It allows you to isolate code, dependencies and development tooling from other projects, for example.
Anyone that has done node.js development in Docker knows that there are a few drawbacks, however. Among the frustrations that developers feel is the slowness of running “npm install” in a container that has a mounted volume.
It can take 30+ seconds to install even a few dependencies, such as those that come with a bare-bones install of Express.js.
But, thanks to the advice of a WatchMeCode member, the Docker Recipes eBook is about to get a recipe that shows you how to solve this problem.
From the first draft of this potential bonus early-release recipe:
This recipe comes from a guest chef and WatchMeCode community member.
When working with a development version of an image, it’s common to have a volume mount from ./ of your project on your local system, pointing to the folder in which the code runs in a container instance. Having this mount allows you to edit code on your machine and have it reflected in the container instantly.
There is one severe annoyance with this, however. File system reads and writes a significantly slower than if they were all happening within your container.
When you’re dealing with a single file being modified, the difference is not really noticeable. With something like npm install, which typically writes hundreds – if not thousands – of files, the difference is significant.
To fix this issue, you’ll want to tell your image and container how to handle the node_modules folder, correctly.
But to get this bonus early-release recipe, you’ll need to purchase the pre-release ebook before Monday, January 23rd.
If 100 sales are hit before that date, this bonus recipe will be immediately added to the pre-release version of the book, and it will be delivered straight to your inbox!
Who Should Buy The Pre-Release Book?
There are a lot of reasons to buy the book now, vs later. Not the lease of which is the content already contained in (or about to be released, with the above bonus) in the book.
- If you’re learning Docker and already have some success running other people’s images and containers…
- If you’re starting to build your own images and wondering about how to edit code in the container …
- If you’ve got your code up and running, but don’t know how to debug it or run your favorite build tool within the container …
- Or if you’re wondering why installing modules through npm, into a container with a mounted volume, is taking so long…
You owe it to yourself to buy the pre-release version of this ebook.
You’ll have instant access to the current pre-relase ebook version.
And the bonus chapter will be yours on Monday, the 23rd, if 100 sales are hit in time.
Additionally, you’ll be a part of the feedback cycles for the continued work on the book. Your input will be used to help guide the direction, make edits, add and edit recipes and more.
Help this book live up to your standards, and meet your needs.