Jestem zdumiony, jak dobrze działa buforowanie warstw przez Dockera, ale zastanawiam się także, w jaki sposób ustala, czy może używać warstwy buforowanej, czy nie.W jaki sposób Docker wie, kiedy używać pamięci podręcznej podczas kompilacji, a kiedy nie?
Weźmy te kroki zbudować na przykład:
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
Na przykład jak to wiedzieć może korzystać z pamięci podręcznej warstwy dla npm install -g node-gyp
ale tworzy nową warstwę dla npm install
?
Czy znasz https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#build-cache? – Roman