Docker had a great cache mechanism, and you can easily use it to improve your image build time.
You can use the below Dockerfile to run a simple nodejs application, but for every image build the command npm install
will be executed.
FROM nodeADD . /codeWORKDIR /codeRUN npm installCMD npm start
A great optimization to the previous Dockerfile is to run npm install
before adding your codebase. For this you will have to add package.json
and to run nmp install
, before you add your codebase.
FROM nodeADD ./package.json /code/package.jsonWORKDIR /codeRUN npm installADD . /codeCMD npm start
Now your npm install
are cached and will be rerunned only if your package.json
changes, making your image build time faster.