无缓存的多阶段Docker构建

时间:2019-12-26 19:01:46

标签: docker dockerfile docker-registry docker-multi-stage-build

我有一个如下所示的多阶段Dockerfile。当Dockerfile中引用的映像之一更新时,如何确保在基于此Dockerfile构建映像时再次拉出/始终拉出最新版本。使用--no-cache运行docker build命令仍会引用旧版本的映像,但实际上并未从docker注册表中获取最新版本。

docker build --no-cache -t test_deploy -f Dockerfile
FROM myreg.abc.com/testing_node:latest AS INITIMG
....
....
RUN npm install
RUN npm run build

FROM myreg.abc.com/testing_nginx:latest

COPY --from=INITIMG /sourcecode/build/ /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]

1 个答案:

答案 0 :(得分:0)

--no-cache告诉docker不要重新使用缓存的图层。如果图像已经在本地存在,它不会提取图像。 您可以在构建之前docker pull myreg.abc.com/testing_node:latest,或者更方便地在调用--pull时添加docker build

请参见https://docs.docker.com/engine/reference/commandline/build/#options