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 |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
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
This comment has been minimized.
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!