|
|
|
|
|
by jacques_chester
2630 days ago
|
|
> How does it work? The OCI image format expresses layer order as an array of digests. Essentially, "read the blobs with these SHAs in this order, please". Cloud Native Buildpacks have predictable layouts and layering. A buildpack can know that layer `sha256:abcdef123` contains (say) a .node_modules directory. It can decide to update only that layer, without invalidating any other layer. And the operation can be very fast, because you can do it directly against the registry. GET a small JSON file, make an edit, POST it back. This is a big deal because under the classic Dockerfile model, changes in a lower layer invalidate the higher layers. But this means your image can be invalidated by OS layer changes, dependency changes and so on. It's the right policy for Docker to have -- a conservative policy -- but Buildpacks have the advantage of additional context that lets them rely on other guarantees. Most noticeably ABI guarantees. |
|