RUN
commands DOK-W1001Each RUN
instruction will create a new layer in the resulting image. Therefore squashing consecutive RUN
instructions will reduce the layer count (see https://docs.docker.com/develop/dev-best-practices/).
In addition to that, each RUN
instruction runs in its own shell, which can be the source of confusion when part of a RUN
instruction changes something about the environment, because these changes may vanish in the next RUN
instruction.
RUN command1
RUN command2
In general you want layers first which don't change often, so they can be cached. Putting easy cacheable and non-cacheable commands in the same layer (by using one RUN command) might have negative performance issues. If you are aware of this, and this is a design decision, you can safely ignore this issue.
RUN command1 && \
command2