If you using Dockerfile, you should know about caching for faster builds.
Sometimes, you need to rebuild without cache. you can run docker build with
--no-cache option that will disable all layer cache.
There is problem when you should use some Dockerfile commands like ADD or
COPY to copy file form host to container.
You need to copy new file to container then rebuild again without change any
line of Dockerfile but the new file not was copy to container.
The last build using layer cache that contain old file instead of rebuild with new
file. So this problem can solve easily by using --no-cache buuild option that
disable all layer cache.
Sometimes, you need to rebuild only some layer not all layer.
For this case, there is not native solution for Docker but there is some trick
about ARG command in Dockerfile and --build-arg build option that I found
on New feature request: Selectively disable caching for specific RUN commands
in Dockerfile
for more detail you should look at solution description
and Dockerfile - ARG
add ARG command to your Dockerfile
# Dockerfile
# add this and below command will run without cache
ARG CACHEBUST=1
when you need to rebuild with selected cache, run it with --build-arg option
$ docker build -t your-image --build-arg CACHEBUST=$(date +%s) .
then only layer below ARG command in Dockerfile will rebuild.