3 ms·
This combines two of my least-favourite things. If anything, Dockerfiles are already too powerful[^]. It's trivial to zoom into an exciting world of asset opac
by jacques_chester 8y ago
This combines two of my least-favourite things.
If anything, Dockerfiles are already too powerful[^]. It's trivial to zoom into an exciting world of asset opacity and rotting bits.
Images are very useful, though. Insofar as they are liberated from the sins of Dockerfiles, there's a bright future ahead.
I don't see bash as such a liberator. Swapping one mess for a different mess still leaves me in a state of resentful squalor.
Disclosure: I work on Cloud Native Buildpacks (https://buildpacks.io https://buildpacks.io), so I have a horse in this race. We're getting near to our first beta release.
[^] The original, pre-dang-editing title was something like "Dockerfiles not powerful enough?"
- heavenlyblue 8y ago>> If anything, Dockerfiles are already too powerful How? Why doesn't docker allow me to arbitrarily copy files, create any layers and execute shell commands from command-line instead, as opposed to a Dockerfile?
- dvtrn 8y agoCan't you via `docker exec` or do I misunderstand the ask?
- deathanatos 8y agoYou can't `docker exec` unless the container is running, so you first need to `docker run` something. (Like an infinite sleep loop, like `bash -c 'while true; sleep 60; done'`.) You can create images via just `docker`, but it's a wee bit hard to do, IMO. IIRC, the docker command that captures the resulting image will by default also change the entrypoint to whatever the `run` was, which isn't helpful.
- heavenlyblue 8y ago>> You can create images via just `docker`, but it's a wee bit hard to do, IMO. Also if you do that, then you can't edit the ENTRYPOINT without adding another layer because docker can't edit the respective json in the .tar file directly. As in - it has the documented functionality to do so in the "POST /commit" API, but that would never work and that parameter will be simply ignored.