3 ms·
The only good thing about the Dockerfile format is that most developers can write one easily. Here are a list of a few issues: * Dependencies are best represen
by zimbatm 8y ago
The only good thing about the Dockerfile format is that most developers can write one easily. Here are a list of a few issues:
* Dependencies are best represented as a tree. Dockerfile forces to linearize that tree.
* It's not possible to compose two or more Dockerfile together.
* If `COPY` or `ADD` instructions are being used, all the files are being send by the client to the daemon, including timestamp and UID. This breaks caching badly as two different users would not produce different images.
* In general Dockefile are not bit-reproducible; two developers building the same Dockerfile will get a different output.
The underlying v2 image format has content-addressable layers which is great. It means that in theory it's possible to upgrade the base OS layer without rebuilding the rest.
PS: Nix's dockerTool.buildLayeredImages fixes all those issues and can take advantage of the CAS format.