Containerfile in addition to Dockerfiles for building container images
Hello Everyone, I am fairly new the Podman community. My name is Aric Renzo and I am a DevOps engineer based on Charlotte NC. I have a passion for container technology and even wrote a book on the now semi-defunct Ansible Container project. I've been watching Podman, CRI-O, and Open Container Initiative projects for quite some time and I am quite impressed with Podman and Buildah providing a fantastic interface for launching Kubernetes style pods and managing them almost exactly like traditional Docker. The community has done an absolutely wonderful job in shifting the mindsets of developers and engineers away from "Docker containers" and "Docker images" towards a more general, platform agnostic, "containers" and "container images". Especially since Docker simply builds and runs OCI container images. I am writing this email in regards to an issue I opened up on the Buildah repo yesterday: https://github.com/containers/buildah/issues/1853 . Essentially, my idea is that if we keep using "Dockerfiles" and "docker-compose.yml" files to build and test images, it will continue to be an uphill battle to shift perception away from Docker being the be-all-end-all of containers. After all, why would someone want to use Podman to build their Dockerfiles, or CRI-O to run them when they can just keep using Docker instead? This is why I would suggest using a more vendor neutral, "Containerfile" and "container-compose.yml" vernacular instead. After all, Podman and even Docker do not build "Docker images". They build OCI container images. Hence, it does not make much sense to keep using "Dockerfile" or "docker-compose.yml" files. However, since I opened this issue, I have been thinking that while this would be a relatively easy code change to get Podman/Buildah to recognize the presence of "Containerfile" inside a repo and build it, this is far more of a cultural shift more than anything else. I think that if the community decides to go this direction, it would be helpful for Podman and other OCI projects to evangelize and promote a new standard for setting up the general instruction file to build and ship open container images. I am open to thoughts and feedback regarding this. I'm wondering if using a standard like this while great for Podman/Buildah to adopt is more of an open container initiative community discussion as well? I'm curious about what the Podman community thinks? Thank you for your time. I'm excited to meet and interact with everyone in the community. Thanks, -- *Aric A. Renzo*
On Fri, Sep 13, 2019 at 10:48 Aric Renzo wrote:
I am open to thoughts and feedback regarding this. I'm wondering if using a standard like this while great for Podman/Buildah to adopt is more of an open container initiative community discussion as well? I'm curious about what the Podman community thinks?
Containerfile sounds like a great idea. I sometime name those Buildahfile and run `buildah bud -f Buildahfile`. Has the Dockerfile specification ever been proposed to opencontainers? -Tristan
Thanks for your response. I'm not aware if anyone has approached the OCI about it. Maybe I can hop on their mailing lists or open a github issue and see. I thought about using something like: Podmanfile, Podfile, or Buildahfile, but I think that kind of defeats the purpose of creating a format that's project-agnostic. I think Containerfile might be general enough that any project can adopt it be it Docker, Podman, or some other future project that provides an interface into the OpenContainers stack. On Fri, Sep 13, 2019 at 11:14 AM Tristan Cacqueray <tdecacqu@redhat.com> wrote:
On Fri, Sep 13, 2019 at 10:48 Aric Renzo wrote:
I am open to thoughts and feedback regarding this. I'm wondering if using a standard like this while great for Podman/Buildah to adopt is more of an open container initiative community discussion as well? I'm curious about what the Podman community thinks?
Containerfile sounds like a great idea. I sometime name those Buildahfile and run `buildah bud -f Buildahfile`.
Has the Dockerfile specification ever been proposed to opencontainers?
-Tristan
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642
I have championed more the remove of "docker" from the syntax for a while. So I would be for supporting something other then Dockerfile. Containerfile would be my choice. Of course we would want to also support Dockerfile, since this is the predominance of users. Perhaps we look for Containerfile by default and if it does not exists, fall back to Dockerfile. Pr's for the community would be appreciated for this support. On 9/13/19 12:01 PM, Aric Renzo wrote:
Thanks for your response. I'm not aware if anyone has approached the OCI about it. Maybe I can hop on their mailing lists or open a github issue and see. I thought about using something like: Podmanfile, Podfile, or Buildahfile, but I think that kind of defeats the purpose of creating a format that's project-agnostic. I think Containerfile might be general enough that any project can adopt it be it Docker, Podman, or some other future project that provides an interface into the OpenContainers stack.
On Fri, Sep 13, 2019 at 11:14 AM Tristan Cacqueray <tdecacqu@redhat.com <mailto:tdecacqu@redhat.com>> wrote:
On Fri, Sep 13, 2019 at 10:48 Aric Renzo wrote: > I am open to thoughts and feedback regarding this. I'm wondering if using > a standard like this while great for Podman/Buildah to adopt is more of an > open container initiative community discussion as well? I'm curious about > what the Podman community thinks? >
Containerfile sounds like a great idea. I sometime name those Buildahfile and run `buildah bud -f Buildahfile`.
Has the Dockerfile specification ever been proposed to opencontainers?
-Tristan
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
Liking the clarity of calling it a containerfile I must admit. On Fri, Sep 13, 2019 at 5:15 PM Daniel Walsh <dwalsh@redhat.com> wrote:
I have championed more the remove of "docker" from the syntax for a while. So I would be for supporting something other then Dockerfile. Containerfile would be my choice. Of course we would want to also support Dockerfile, since this is the predominance of users.
Perhaps we look for Containerfile by default and if it does not exists, fall back to Dockerfile.
Pr's for the community would be appreciated for this support.
On 9/13/19 12:01 PM, Aric Renzo wrote:
Thanks for your response. I'm not aware if anyone has approached the OCI about it. Maybe I can hop on their mailing lists or open a github issue and see. I thought about using something like: Podmanfile, Podfile, or Buildahfile, but I think that kind of defeats the purpose of creating a format that's project-agnostic. I think Containerfile might be general enough that any project can adopt it be it Docker, Podman, or some other future project that provides an interface into the OpenContainers stack.
On Fri, Sep 13, 2019 at 11:14 AM Tristan Cacqueray <tdecacqu@redhat.com> wrote:
On Fri, Sep 13, 2019 at 10:48 Aric Renzo wrote:
I am open to thoughts and feedback regarding this. I'm wondering if using a standard like this while great for Podman/Buildah to adopt is more of an open container initiative community discussion as well? I'm curious about what the Podman community thinks?
Containerfile sounds like a great idea. I sometime name those Buildahfile and run `buildah bud -f Buildahfile`.
Has the Dockerfile specification ever been proposed to opencontainers?
-Tristan
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
My gut instinct is that "imagefile" has a connotation with media-type image file formats. Might be confusing especially for non-technical users when talking about container concepts. Open to it, if others disagree. On Fri, Sep 13, 2019 at 12:32 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
On Fri, 13 Sep 2019, Bryan Hepworth wrote:
Liking the clarity of calling it a containerfile I must admit.
would it not more properly be called an "imagefile"?
rday _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642
On Fri, 13 Sep 2019, Aric Renzo wrote:
My gut instinct is that "imagefile" has a connotation with media-type image file formats. Might be confusing especially for non-technical users when talking about container concepts. Open to it, if others disagree.
eh, containerfile is fine. rday
I like the thought of changing Dockerfile to another name. My one concern is trying to figure out how much of a pain point it would be for people with existing Dockerfiles to rename them. Yeah, they could use '--file Dockerfile' to make it work, but that might be painful too if they've a bunch of scripts buried away without that option already specified. But perhaps I'm being over concerned. t On 09/13/2019 12:52 PM, Aric Renzo wrote:
My gut instinct is that "imagefile" has a connotation with media-type image file formats. Might be confusing especially for non-technical users when talking about container concepts. Open to it, if others disagree.
On Fri, Sep 13, 2019 at 12:32 PM Robert P. J. Day <rpjday@crashcourse.ca <mailto:rpjday@crashcourse.ca>> wrote:
On Fri, 13 Sep 2019, Bryan Hepworth wrote:
> Liking the clarity of calling it a containerfile I must admit.
would it not more properly be called an "imagefile"?
rday _______________________________________________ Podman mailing list -- podman@lists.podman.io <mailto:podman@lists.podman.io> To unsubscribe send an email to podman-leave@lists.podman.io <mailto:podman-leave@lists.podman.io>
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642 <sip:8436097642>
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
I think that has to do with it being more of a cultural change rather than a code change. I think as long as Podman/Buildah support both filenames by default,it would be the users choice about what to name the files. If they wanted to make their project less visually tied to Docker, they could use Containerfile, or if they wanted to keep things as-is and slowly move things over (or never move things), that's fine too. I think it'll be up to us to promote the use of "Containerfile" as a specification for using this format in a vendor-neutral way. The OCI folks in their IRC channel pointed me to https://buildpacks.io/ as a CNCF project for creating a abstracted universal build standard for OCI images. I think it's a great idea, but I really couldn't see many organizations being able to quickly turn over their container infrastructure to use buildpacks as opposed to the Dockerfile-type format. On Fri, Sep 13, 2019 at 12:58 PM Tom Sweeney <tsweeney@redhat.com> wrote:
I like the thought of changing Dockerfile to another name. My one concern is trying to figure out how much of a pain point it would be for people with existing Dockerfiles to rename them. Yeah, they could use '--file Dockerfile' to make it work, but that might be painful too if they've a bunch of scripts buried away without that option already specified.
But perhaps I'm being over concerned.
t
On 09/13/2019 12:52 PM, Aric Renzo wrote:
My gut instinct is that "imagefile" has a connotation with media-type image file formats. Might be confusing especially for non-technical users when talking about container concepts. Open to it, if others disagree.
On Fri, Sep 13, 2019 at 12:32 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
On Fri, 13 Sep 2019, Bryan Hepworth wrote:
Liking the clarity of calling it a containerfile I must admit.
would it not more properly be called an "imagefile"?
rday _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642
I like the thought too. That said, I think there are few major options: 1. Docker Inc. would have to donate the Dockerfile syntax to the OCI project. Who knows, it's a possibility, but I have my doubts: http://crunchtools.com/docker-support/ 2. Create a new syntax, and donate it to the OCI 3. Copy the current Dockerfile syntax (aka fork it), and donate it to the OCI 4. Create a new syntax, that is project based and not part of the OCI (least favorite) My 2c.... Best Regards Scott M On Fri, Sep 13, 2019 at 1:20 PM Aric Renzo <aricrenzo@gmail.com> wrote:
I think that has to do with it being more of a cultural change rather than a code change. I think as long as Podman/Buildah support both filenames by default,it would be the users choice about what to name the files. If they wanted to make their project less visually tied to Docker, they could use Containerfile, or if they wanted to keep things as-is and slowly move things over (or never move things), that's fine too. I think it'll be up to us to promote the use of "Containerfile" as a specification for using this format in a vendor-neutral way. The OCI folks in their IRC channel pointed me to https://buildpacks.io/ as a CNCF project for creating a abstracted universal build standard for OCI images. I think it's a great idea, but I really couldn't see many organizations being able to quickly turn over their container infrastructure to use buildpacks as opposed to the Dockerfile-type format.
On Fri, Sep 13, 2019 at 12:58 PM Tom Sweeney <tsweeney@redhat.com> wrote:
I like the thought of changing Dockerfile to another name. My one concern is trying to figure out how much of a pain point it would be for people with existing Dockerfiles to rename them. Yeah, they could use '--file Dockerfile' to make it work, but that might be painful too if they've a bunch of scripts buried away without that option already specified.
But perhaps I'm being over concerned.
t
On 09/13/2019 12:52 PM, Aric Renzo wrote:
My gut instinct is that "imagefile" has a connotation with media-type image file formats. Might be confusing especially for non-technical users when talking about container concepts. Open to it, if others disagree.
On Fri, Sep 13, 2019 at 12:32 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
On Fri, 13 Sep 2019, Bryan Hepworth wrote:
Liking the clarity of calling it a containerfile I must admit.
would it not more properly be called an "imagefile"?
rday _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
_______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
-- *Aric A. Renzo* 15511 Troubadour Lane Huntersville, NC 28078 843-609-7642 _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
-- -- Scott McCarty, RHCA Product Management - Containers, Red Hat Enterprise Linux & OpenShift Email: smccarty@redhat.com Phone: 312-660-3535 Cell: 330-807-1043 Web: http://crunchtools.com Have questions on Red Hat UBI? Check out the official FAQ: https://red.ht/2yaUcez
I like the generalization of "Containerfile", if only to remove Docker. It would probably not mean a big change, since you are normally working with directories (or explicitly named files, using parameters like the -f) So you could just rename the Dockerfile to Containerfile, and the "build" commands would continue to work like they did before (except with Docker). We are trying to get away from using Docker and docker-env to build for minikube, and something like this would be a natural fit for it (and CRI-O). There is this choice of --container-runtime when starting up the VM, and then it will feed your instructions to _either_ command (docker or podman). Buildahfile sounds wrong, since it is only valid for the subset of BUD. /Anders Den fre 13 sep. 2019 kl 18:02 skrev Aric Renzo <aricrenzo@gmail.com>:
Thanks for your response. I'm not aware if anyone has approached the OCI about it. Maybe I can hop on their mailing lists or open a github issue and see. I thought about using something like: Podmanfile, Podfile, or Buildahfile, but I think that kind of defeats the purpose of creating a format that's project-agnostic. I think Containerfile might be general enough that any project can adopt it be it Docker, Podman, or some other future project that provides an interface into the OpenContainers stack.
On Fri, Sep 13, 2019 at 11:14 AM Tristan Cacqueray <tdecacqu@redhat.com> wrote:
On Fri, Sep 13, 2019 at 10:48 Aric Renzo wrote:
I am open to thoughts and feedback regarding this. I'm wondering if using a standard like this while great for Podman/Buildah to adopt is more of an open container initiative community discussion as well? I'm curious about what the Podman community thinks?
Containerfile sounds like a great idea. I sometime name those Buildahfile and run `buildah bud -f Buildahfile`.
Has the Dockerfile specification ever been proposed to opencontainers?
participants (8)
-
Anders F Björklund -
Aric Renzo -
Bryan Hepworth -
Daniel Walsh -
Robert P. J. Day -
Scott McCarty -
Tom Sweeney -
Tristan Cacqueray