Dockerのレイヤーキャッシュがうまくいくことに驚いていますが、キャッシュされたレイヤーを使用するかどうかを判断する方法も不思議です。ビルド中にキャッシュを使用する時期と使用しない時期をDockerはどのように知っていますか?
のは、これらは、例えば手順を構築してみましょう:
Step 4 : RUN npm install -g node-gyp
---> Using cache
---> 3fc59f47f6aa
Step 5 : WORKDIR /src
---> Using cache
---> 5c6956ba5856
Step 6 : COPY package.json .
---> d82099966d6a
Removing intermediate container eb7ecb8d3ec7
Step 7 : RUN npm install
---> Running in b960cf0fdd0a
例えばどのようにそれはnpm install -g node-gyp
ためにキャッシュされた層を使用することができます知っているが、npm install
のための新鮮な層を作成していますか?
https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#build-cacheを読んでいますか? – Roman