Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you're going to make absolutist statements about nitpicky minutiae, you have to get it right.

In point of fact the image side of a Dockerfile, where an image is a DAG of other images referenced by an immutable ID or pointer to hosted content, is "100%" declarative. It's only the "build" syntax that is ordered.



OP specifically said "The Dockerfile format is not declarative." They made no mention of the image side, only the build syntax.


If you're going to be pedantic about minutae, you have to get it right.

The "image side of a Dockerfile" isn't a Dockerfile, it's an image, more specifically an image in the OCI Image Format [0]. A Dockerfile is just the most common syntax for controlling software that can create an OCI image (such as Docker and Podman).

You could argue that the OCI Image Format is declarative, but that's not relevant to OP's comment about Dockerfiles.

[0] https://github.com/opencontainers/image-spec


In all the real-world cases I've seen, the base images in Dockerfiles are just tags, which are mutable (especially the :latest tag which changes with every release).


We are only talking about the build syntax here ("the Dockerfile file format")




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: