Instantly share code, notes, and snippets.

Embed
What would you like to do?
Install node modules before copying over your working code so that node_modules are built (and cached) before you change your service code!
# ...
ADD package.json /tmp/package.json
RUN cd /tmp && npm install && \
mkdir -p /opt/app && cp -a /tmp/node_modules /opt/app/
# ...
WORKDIR /opt/app
ADD . /opt/app
@dweinstein

This comment has been minimized.

Show comment
Hide comment
@dweinstein

dweinstein Mar 10, 2014

If the package.json file changes then Docker will re-run the npm install sequence... otherwise our modules are cached so we aren't rebuilding them every time we change our apps source code!

Owner

dweinstein commented Mar 10, 2014

If the package.json file changes then Docker will re-run the npm install sequence... otherwise our modules are cached so we aren't rebuilding them every time we change our apps source code!

@NoumanSaleem

This comment has been minimized.

Show comment
Hide comment
@NoumanSaleem

NoumanSaleem commented Nov 5, 2014

👍

@rationull

This comment has been minimized.

Show comment
Hide comment
@rationull

rationull Apr 13, 2017

For those like myself who were initially bewildered by this, the "Build cache" section of the Dockerfile best practices doc may help fill in the gaps.

rationull commented Apr 13, 2017

For those like myself who were initially bewildered by this, the "Build cache" section of the Dockerfile best practices doc may help fill in the gaps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment