docker - 如何在多阶段构建中的某个阶段启动 docker build?
问题描述
我们的应用程序需要很长时间才能编译。对 Dockerfile 的任何更改都会触发完全重新编译(这需要很长时间) Dockerfile 是一个多阶段构建。我正在努力在第二阶段工作。有没有办法告诉docker build
从第二阶段开始?
FROM debian:latest AS builder
# 10-20 mins worth of stuff here
FROM alpine:latest AS runner
WORKDIR /
COPY --from=builder /work/myapp.zip .
RUN unzip myapp.zip -d /myapp
# and more stuff that I'm working on here
有什么办法docker build --begin-with runner
吗?
解决方案
实际上 Docker 构建缓存应该自动处理这种情况。然而,这个实现有它的局限性。它可能无法完全满足您的需求,但可能很接近。
推荐阅读
- javascript - setState 函数未定义
- python - 如何为需要 f90wrap 来包装 Fortran 源的包定义 setup.py?
- c++ - range-v3:静态断言失败:无法查看临时容器
- ios - 如何从 ARKit 中的节点动画到实际视图
- c++ - 如何及早捕获浮点错误(就在它们发生的地方)?
- c# - 从对象中删除事件引用以使垃圾收集工作
- python - 对一个单元格的内容使用字典键来使用相关值填充新列的单元格
- c++ - 是否有一个函数可以将每个双精度转换为唯一的 uint64_t,保持精度和 ORDER?(为什么我找不到?)
- c++ - 数组中最大值的C ++ if语句未指向正确的元素
- c# - 如何在事件处理程序中多次更新 UI 元素?