Replies: 14 comments 22 replies
-
@alexlarsson WDYT? The For |
Beta Was this translation helpful? Give feedback.
-
Well this would match up with docker compose --build use case. Where the users want to provide a unit file and a Containerfile describing an image, but not have to store the image at a registry. .image could come in handy for systems with image_pull=never being set in containers.conf. |
Beta Was this translation helpful? Give feedback.
-
Correct. I just learned about being able to pass Still I think this could be useful in a scenario where you want the image to be update-able. i.e. the container you start uses a remote registry image, but the
I guess I'm the Completely self contained. Doesn't rely on a remote registry or build tooling. Manages itself. One place to go and look for problems. Sometimes registries and build systems are a blocker. For example, we have quay.io (which is great). It can build your containers for you, etc etc.. Unless you need multi-arch. Then you need to build your containers yourself and push them there and manage registry push secrets and all that jazz. Or maybe you have secret stuff in your containers. Now you might not want to push them to a registry or you need to push them to a private registry ($$). I think all I'm trying to illustrate here is that I don't think the use case(s) for this are that far outside of the norm. I don't host any containers in a registry and I have quite a few systems stood up that use containers. Here are examples (the few that are public) that use this model: |
Beta Was this translation helpful? Give feedback.
-
Let's consider this use case. --pull=never was motivated by avoiding image pull during boot as it would slow down things considerably. An
Thanks for taking the time to elaborate, @dustymabe! Did you consider using I think Quadlet should focus on running containers/pods/kube yaml in systemd. Building containers in systemd feels outside that focus, especially since Note that I am not rejecting the idea but I want to force us to consider existing alternatives and to balance pros and cons. Maintaining too many ways of essentially doing the same thing is expensive long term (development, maintenance, testing, etc.). |
Beta Was this translation helpful? Give feedback.
-
I feel that quadlet is basically a frontend for "podman run" (and "podman kube play"). I don't think adding a bunch of other stuff to it is a great idea. Code-wise it becomes quite convoluted, as we can't essentially run anything at all during generation, so we would have to generate a set of unit files with some ordering such that the complete thing works. Quite hairy, and will have lots of weird corner cases. |
Beta Was this translation helpful? Give feedback.
-
The ordering problem is easily solved with systemd targets IIUC. Just make sure the container units run |
Beta Was this translation helpful? Give feedback.
-
I've looked at I also feel like it has a branding problem. I think it's going to be hard to get people to take seriously anything that has the word
Not necessarily. In the example I gave in #16775 (comment) (EC2 instance with sidecar EBS volume) the image files are actually available on a "local" filesystem (secondary disk), they just need to be imported. It would be nice if there was a standardized way to do the import. Of course each user can write their own, but I think we can bring value to everyone by not requiring people to do that.
Yeah. Unfortunately, I don't think it's for me, but that's OK because what I currently have (which is a systemd unit I define myself to do the build on each boot) works well enough.
Thanks for the discussion! It's useful to have. |
Beta Was this translation helpful? Give feedback.
-
A friendly reminder that this issue had no activity for 30 days. |
Beta Was this translation helpful? Give feedback.
-
I am converting this to a discussion,since that is where we are with it now. |
Beta Was this translation helpful? Give feedback.
-
Hi @vrothberg, Actually today I was looking for this possibility to have quadlet also build containers on the fly, rather than specifying an image ;) And like as @dustymabe I don't feel like One way to avoid any problem on your side (ie avoid the hassle of the whole building support, which has many use case) might be to allow providing some kind |
Beta Was this translation helpful? Give feedback.
-
anything update ?I see support for .image, it seems .build isn't in the documentation yet. |
Beta Was this translation helpful? Give feedback.
-
You can manage to build your personal image from a directory containing a Containerfile by adding a [Service] section with a WorkingDirectory directive in the .kube file. [Service]
|
Beta Was this translation helpful? Give feedback.
-
App containers where you don't want to set up / host an entire container registry just for your app image. Would be awesome to embed- cutting down on dependency hell. I think once we get that, many people can simply migrate away from Docker Compose / Podman Compose, as quadlet / systemd could do the orchestration itself. |
Beta Was this translation helpful? Give feedback.
-
Closing this discussion following the merge of #22694 |
Beta Was this translation helpful? Give feedback.
-
/kind feature
Description
The recent addition of quadlet functionality is great. So great that I went out of my way to grab the upstream bits to test it before it even lands in a release or Fedora Rawhide. I have some ideas for expanding this model:
.build
files..build
with a.container
file that runs a container from that build then it would be a really nice combination.Containerfile
contents for simple containers..image
files..image
file that tells the system on boot to import a container image from a location, either local or remote. i.e. a user could pre-loadoci-archive
files into a location on the host and then drop in.image
files that tellpodman
to load them into container storage on first boot.I imagine both
.build
and.image
files should be processed before.container
file containers are attempted to be started.These are just ideas. WDYT?
Beta Was this translation helpful? Give feedback.
All reactions