4 ms·
Side question. Why would people continue to build new dockerfiles as opposed to using Podman ?
by PantaloonFlames 2y ago
Side question. Why would people continue to build new dockerfiles as opposed to using Podman ?
- DazWilkin 2y agoPodman uses Dockerfiles too. Dockerfiles is the language for specifying a set of instructions for building container images.
- halostatue 2y agoIt's not a very good one, but it is ubiquitous (it's also better if you remember to include the right syntax marker that enables heredocs): # syntax=docker/dockerfile:1 I suspect that the GP was really asking "why not use a different tool", like buildah <https://buildah.io https://buildah.io>, buildpacks <https://buildpacks.io https://buildpacks.io>, nix <https://nix.dev/tutorials/nixos/building-and-running-docker-images.html https://nix.dev/tutorials/nixos/building-and-running-docker-...>, kaniko <https://github.com/GoogleContainerTools/kaniko https://github.com/GoogleContainerTools/kaniko>, ko <https://github.com/ko-build/ko https://github.com/ko-build/ko>, bazel <https://github.com/bazel-contrib/rules_oci https://github.com/bazel-contrib/rules_oci>, apko <https://github.com/chainguard-dev/apko https://github.com/chainguard-dev/apko>, or other tools. Each of those has tradeoffs compared to Dockerfiles (I have no need for bazel, but if I did, then adding `rules_oci` might be a win-win, rather than using a Dockerfile). If I used Nix, then the Nix dockerTools would be a huge win (I don't use Nix). If I were shipping Go programs, `ko` would likely be a good baseline.
- colonial 2y agoBuildah is the only serious alternative in my opinion. You lose automatic layer caching, but in exchange you can use the same tools (RUN, ADD, etc) within a much more powerful shell environment. I wrote a Buildah wrapper that uses a shell script harness to polyfill the familiar Dockerfile syntax while adding several extra goodies - mainly the ability to bake runtime arguments (mounts, ports...) into the image. Very handy!
- mikepurvis 2y agoBuildah's ability to mount the container in an unshare environment is pretty magical for copying stuff in and out of it. That said, in the end I'd still rather build containers with something other than an imperative sequence of commands, so my heart is going to be forever with nix2container and bazel's rules_oci.
- yjftsjthsd-h 2y agoWhen I've used buildah and kaniko, I still handed them a Dockerfile.
- jahsome 2y agoWhy would people continue to use hackernews as opposed to reddit?
- bpiroman 2y agoI feel dumber after using reddit
- acidmath 2y ago[dead]
- imp0cat 2y agoThe same is usually said about watching Spongebob Squarepants, but YMMV. :)
- chuckadams 2y agoAt least with Spongebob you feel dumb and happy. Feels like the whole world is dumb and angry now.
- dharmab 2y agoDockerfile has been standardized as Containerfile: https://github.com/containers/common/blob/main/docs/Containerfile.5.md https://github.com/containers/common/blob/main/docs/Containe...
- caleblloyd 2y agoDockerfile seems very specific to Docker still, I don’t think they have to go through a committee to add anything to the spec https://docs.docker.com/build/buildkit/dockerfile-release-notes/ https://docs.docker.com/build/buildkit/dockerfile-release-no... If any organization adopted the spec I would hope they would at least make it adopt a standard file extension like .oci so it would at least be more easily recognizable by IDEs, I have never liked having to put the use case as the extension like Dockerfile.dev But I do like that docker and buildkit have been able to freely evolve the spec with things like advanced caching directives that work great in buildx