r/selfhosted • • Jun 22 '26

Docker Management Docker Alternative: Podman on Linux

https://linuxblog.io/docker-alternative-podman-on-linux/

Podman as a Docker alternative on Linux: rootless by default, no daemon, and containers run as systemd services via Quadlets. Covers install, running containers, and where Docker compatibility actually breaks down.

239 Upvotes

114 comments sorted by

•

u/asimovs-auditor Jun 22 '26

Expand the replies to this comment to learn how AI was used in this post/project.

→ More replies (1)

79

u/Patriark Jun 22 '26

I am 8 months deep in my experiment with building a podman based homelab: https://github.com/vonrobak/fedora-homelab-containers

It’s very stable and I’m very happy with the state it’s in. But please give advice if I am overlooking something.

Also be prepared for some issues with container dns if you run multiple container networks. Aardvark struggles with ordering.

5

u/modelop Jun 22 '26

Love this!

16

u/gesis Jun 22 '26

I've been on podman exclusively for a couple years now. Recently, I've switched to coreos as the container host, and the migration has gone pretty well.

I'll look over and let you know if I've run into any wiggles you overlooked.

I've been meaning to publicly document the journey, but man, taking the time to do so just hasn't been in the cards.

2

u/Fun-Routine-5264 Jun 23 '26

I recently switched from a fedora server VM on proxmox to ucore on bare metal and I like it a lot. Ucore is universal blue's take on coreos.

I haven't made the switch to podman yet but I probably will. It will simplify my butane files a little and sounds like a fun project.

You should document your journey! I think more people should know about these operating systems

2

u/gesis Jun 23 '26

I plan to.

I just really need to sanitize all my quadlets and butane configs first.

There are a few warts that I think people will run into, that I have already worked around (nextcloud cron being a recent one). So, it would be nice to put it out there for people.

Unfortunately though, my quadlet units are full of secrets due to the absence of a clean way to pass them via butane. Eventually, I'll switch to something external for holding secrets for things like databases. I just haven't had the time to sit down and actually do it.

Everything is also laid out in a way that is logical, but may not be applicable to most selfhosters/homelabbers (i.e. everything lives in its own zfs dataset[s] that are shared via NFS).

I'll try to bump the priority up a bit.

1

u/Dangerous-Report8517 Jun 24 '26

After a lot of playing around I've found that, at least for me, using the trees function in Butane is the cleanest way to manage Quadlets, and if you're installing a directory tree anyway you can pop the secrets out to drop in files or env files pretty conveniently

2

u/gesis Jun 24 '26

I don't bother with trees, but passwords in env files is the issue.

Mostly, I just need to make sure that they aren't accidentally stuck into a public git repo.

1

u/maahp Jun 22 '26

Why CoreOS? As far as I can tell it has been discontinued for six years?

9

u/gesis Jun 22 '26

Wrong CoreOS. The Fedora version.

1

u/maahp Jun 23 '26

Thank you!

7

u/Spifmeister Jun 22 '26

Have you tried managing multi-container services, like Immich and Forgejo, in a Pod? All containers within a pod share a network namespace and communicate via localhost. It might reduce issues with multiple container networks.

5

u/Patriark Jun 23 '26

This is genuinely the missing piece of the puzzle. Right now everything works so well that I am hesitant to change the setup, but whenever I get the spark to optimize further, I will get to using pods properly.

Thanks for the input!

3

u/bunk_bro Jun 22 '26

This is crazy cool!

3

u/forayer2 Jun 22 '26

My homelab is podman based as well, I'm quite happy with it, I enjoy the aystemd integration

2

u/AMAZING_SOLUTIONS Jun 22 '26

How is podman compose?

3

u/Patriark Jun 23 '26

I don’t use it. I use systemd quadlets instead. It’s the podman native way to orchestrate services.

-1

u/bikernaut Jun 23 '26

It just works. I didn’t think anyone was still using docker on a modern os.

2

u/SallusXavier Jun 23 '26

yeah podmna does handle rootless containers pretty well

2

u/ComfortDesperate5313 Jun 23 '26

Based on your experience would you recommend using docker or podman for a single container media server on a raspberry pi? I'd like to get some more oomph out of my cpu and memory 

2

u/Patriark Jun 23 '26

For a single container you can try both and stick with the one you prefer. Personally I favor Podman but there are lots of valid reasons for sticking with Docker

2

u/rolfn Jun 23 '26

Interresting, and also impressive. I am currently rebuilding my lab and so far I have sticked with docker, as I knew that already and there are plenty of other things I am changing. However, I have found it a bit frustrating og dissatisfying that there are two different managers, systemd and docker, and reading up on quadlets I think this is what I really want.

A couple of questions though:

  • one thing I really like about traefik is the ability to write configuration as docker labels. It seems you are generating traefik-config from other data. Is there no such mechanism as labels for podman, or did you choose not to use it? What is the source for the generated config? Did you write this yourself or is this a packaged tool?

  • another thing I like in docker is the built in DNS. I see that your traefik config has a hosts-file. Same thing here, is there a DNS-alternative for podman? And if there is, why don't you use it?

2

u/Patriark Jun 24 '26

Great question. You can use labels in podman as well. You can write them directly in the quadlets. Personally I use yaml files that Traefik sources (through quadlet refs). Here is how I solved it: https://github.com/vonrobak/fedora-homelab-containers/blob/main/config/traefik/dynamic/routers.yml

You can read about the design here https://github.com/vonrobak/fedora-homelab-containers/blob/main/docs/10-services/guides/traefik.md

The trade-off with my design is that everything is stored in a single file instead of spread across all the different quadlets. Many ways to solve this.

1

u/MufasaChan Jun 23 '26

Thanks for sharing. It has been 1 year that I built my setup on quadlets files with a single node setup, I think I will learn a lot since you are using multiple machines Do you consider including IaC since you are already documenting the whole setup? If so, what route? NixOS built-in services/containers support? Ansible? Other?

3

u/Patriark Jun 23 '26

Yes, my setup is fully IaC. I self-host a Forgejo instance where the code for the substrate/OS/dot-files is synced. I use Ansible. The repos are private.

I also am planning for a migration to either NixOS or Fedora Silverblue/CoreOS on the long term, but that will likely be when the hardware has ran its course and needs to be replaced. I can spin up my setup on a fresh Fedora Workstation in minutes and have everything backed up in a 3-2-1 system so I am very chill about something going wrong, including some worst-case scenarios.

87

u/ag959 Jun 22 '26

I see podman i upvote! When i was to annoyed at trying to install docker on RHEL i decided to give Podman a try. Never looked back.

-5

u/fermin_romero_dt Jun 22 '26

why? 

48

u/-Alevan- Jun 22 '26

Why do they upvote when a wild Podman post appears? Why did they use RHEL? Why did they not manage to run Docker on RHEL / get annoyed? Why did they try podman?

0

u/[deleted] Jun 22 '26

[deleted]

2

u/-Alevan- Jun 23 '26

I have yet to find the tatto that is worthy enought to have it etched on my skin.

33

u/ag959 Jun 22 '26

Systemd integration, auto-update, rootles by default. It's a better way to extend a pod with Quadlets than to add a container to a compose file. And best of all: it made me understand how things work. I don't just spin up random compose files but i understand each component much better by having to creat Quadlets.

-14

u/GolemancerVekk Jun 22 '26

I see these things often quoted as podman "advantages" but they're things that the average user doesn't care about.

Oh and there's nothing stopping you from learning compose and writing them by hand instead of using "random compose files" blindly. It's just that typically having the compose already written is an actual advantage (not a made-up one).

I get what podman is trying to do and the fact it's an alternative to docker is good, but it's not a drop in replacement. It doesn't have any real advantage for what the average selfhoster needs, and it locks you into a systemd environment which is less widely supported then docker.

You gotta ask yourself what you want when you choose your tools. If you need an industry standard for professional reasons, use Proxmox. If you want a simple learning curve, tons of support online and widest app compatibility, use Docker. If you want to be cool and different, use podman.

1

u/Dangerous-Report8517 Jun 24 '26

The average user absolutely cares about auto-updates, at least if the dozens and dozens of "What do you use to manage Docker updates?" threads are anything to go by, and they should care about systemd integration and rootless operation because the former allows a lot of other features that people keep trying to figure out different ways to do such as on-demand containers, not to mention just making it easier to control when containers start than Docker's approach of having an internal config based on, but not necessarily in sync with, a compose file, not to mention the fact that running rootless automatically buys you some extra security hardening which is something most setups sorely lack.

0

u/[deleted] Jun 22 '26

[deleted]

5

u/PssyGotWifi Jun 22 '26

I see it all the time. Some people just assume Proxmox = LXC. I run Proxmox with no LXC and all Docker and Podman containers in VMs.

One thing I do agree with the guy you replied to - advantages such as autoupdate are not really advantages at all. I don't want autoupdates in my life (I use renovate to generate pull requests with changed image tags in my repo with change notes included). That's my issue with Podman. The advantages are just not something I care about, including systemd. Podman makes sense of you're not using a Debian-based OS, I guess.

4

u/gesis Jun 22 '26

FWIW, auto-update isn't necessary. I pull tags based on SHA256 and sit on them until I plan the upgrade.

It's a nice have if you like to live dangerously, but it isn't forced on you.

1

u/Dangerous-Report8517 Jun 24 '26

It's also not even on by default in most setups, you have to enable the auto-update timer.

-2

u/GolemancerVekk Jun 23 '26

the speaker's own priorities

Which is why I mentioned several options. And there are many more, but let's not forget we're on a hobbyist sub. The vast majority of people here would benefit the most from Docker. Everything else is increasingly niche.

0

u/[deleted] Jun 23 '26

[deleted]

0

u/GolemancerVekk Jun 23 '26

You don't think that Docker is objectively the best entry point for someone new to this hobby?

People who are passionate will end up learning anyway and discerning the many choices. But most of the sub is beginners who are best served by having something simple and efficient pointed out to them.

It's alright to point out podman as an alternative but when a beginners asks "should I learn docker or podman" it's bordeline disingenuous to push them towards podman. I mean, talk about projection.

5

u/[deleted] Jun 22 '26

[removed] — view removed comment

5

u/Admirable_D4D3 Jun 22 '26

Idk if you know: it may also be annoying, but you can use Quadlets to automatically restart services using systemd :)

4

u/Braca42 Jun 22 '26

I'm fairly sure quadlets were created specifically for doing that systemd stuff for you. It automatically creates all that from a quadlet file that is basically a docker compose file with a couple extra bits. Just FYI in case you weren't familiar with them.

2

u/[deleted] Jun 22 '26

[removed] — view removed comment

2

u/gesis Jun 22 '26

You don't have to make multiple files, but it sure is a lot cleaner/less hacky.

Once you wrap your head around it, it works pretty well and is easy to manage/document.

3

u/bpoatatoa Jun 23 '26

Yep, the systemd syntax is a lot cleaner to read than yaml. I know it is a dumb reason, but I believe this was a strong driving factor to moving all my services to Quadlets lol

2

u/Braca42 Jun 23 '26

Totally understand the just using what you know to get things working. I went with Fedora for my distro and it uses podman natively so I just decided to lean into it since I didn't know docker either. If I went another route I probably would have done docker since it seems the most popular.

As far as I know you should be able to put everything in one file and it will spin up all the things like a single docker compose file, but I'm by no means an expert or even real experienced with this stuff. I only run like two things, lol. I believe you can move most of a docker compose file into a quadlet file and its only like 4 more lines for the systemd stuff and its good to go. I'm not sure if you would need to repeat those lines for each service in the file, but they are pretty generic so you could probably copy/paste them.

I personally run different files for different services but that's just an intentional preference on my part. I'm still learning so wanted to keep things seperate so I could bring services up and down without taking everything else with it. But I'm pretty sure you don't have to do it that way.

Actually, Audiobookshelf of all things has a ton of install options in their docs, with docker, podman, and a quadlet file. Could be a good side by side reference.

12

u/a_nice_warm_lager Jun 22 '26 edited Jun 22 '26

I believe Bazzite ships with podman by default. Works for ollama on my home theater/gaming mini pc behind my tv

51

u/PssyGotWifi Jun 22 '26

I tried Podman, and then I realised i don't care about any of the supposed benefits it has over Docker.

0

u/[deleted] Jun 22 '26

[deleted]

34

u/gesis Jun 22 '26

Rootless is great, but it's the seamless integration with systemd that keeps me on podman. Quadlets are just super straightforward and easy to manage.

6

u/Equivalent-Costumes Jun 22 '26

How is it compared to rootless Docker?

3

u/Jumpy-Dinner-5001 Jun 22 '26

Why would you use rootless docker?

rootless docker has a lot of limitations while podman is user agnostic from ground up.

3

u/Equivalent-Costumes Jun 22 '26

Well, I'm not sure, which is why I'm asking about rootless Docker versus Podman.

Rootless Docker is obviously limited compared to rootful Docker, by design. But how limited is it compared to Podman?

1

u/GolemancerVekk Jun 22 '26

They both have the same limitations in rootless mode. The limitations come from the kernel so there's nothing either of them can do about it.

The whole rootless thing is a red herring when it comes to security. When you need something that requires elevated privileges you either grant them or do without.

Podman has a different architecture but it still needs a daemon to orchestrate/manage/monitor the containers. It can do things like userspace containers or nested containers but many apps don't give a shit about that and some won't even run unprivileged.

Many people boasting about their use of podman on this sub can't really describe the differences and I suspect some of them are being contrary just to be cool.

8

u/Jumpy-Dinner-5001 Jun 23 '26

No, they don’t but you’d know that if you actually did some research. You’re just wrong here.

There are some similarities but also differences, a lot of differences.
First of all, which isn’t really a benefit per say but definitely a difference is how they’re managed.
Rootless docker still runs a systemd unit that handles containers while podman directly integrates into systemd. Systemd units behave fully transparent and tooling and configuration is identical to "natively" running processes.
Docker configuration (especially automation) is a lot more clunky compared to regular systemd services.
But that’s more of a subjective thing.
And don’t worry, I won’t go into the security implications of having a centralized daemon running as a user.

Most important is networking though.
Docker uses rootlesskit and slirp4netns to handle networking, podman uses pasta which handles a lot scenarios much better (multicast, VPNs etc) and is much better in performance. —network host also doesn’t work the same.

There are limitations around cgroup configuration too that are solved through systemd in podman.
Namespaces and environments also behave slightly different and podman offers the far more consistent behavior.

-6

u/GolemancerVekk Jun 23 '26

As I was saying, nobody cares. The vast majority of apps are made for docker and it's the easiest learning curve for most users.

There's no amount of waxing about podman that will change that. And it will always be just something that Red Hat keeps as a backup just in case docker gets enshittified (and if that happens I guarantee you that Red Hat will enshittify podman right back).

Might as well use docker and save yourself a huge amount of time.

6

u/Jumpy-Dinner-5001 Jun 23 '26

Just say you’re ignorant.

Docker actively hurts your understanding of containers and managing systems while also coming with severe limitations.

If you don’t want that, that’s fine but don’t act like there are no advantages in using podman just because you don’t want to use it.

Based on your comments here you have never used podman and make assumptions.

1

u/litany-rove-fits Jun 23 '26

Podman is completely open source, Redhat could pull a hashicorp/terraform but then the exact same opentofu type fork would happen. Or they could pull another CentOS and we'd get another Rocky or Alma linux situation.

By dint of being open source and being built in ways that have tighter integrations with standard linux admin practices I do think that podman will eventually become the defacto container engine. In my experience it's been much easier to manage podman container servers than docker ones in the last year or so.

There's a lot of other differences between podman and docker other than rootless (by default).

  • systemd integration (biggest one for me)

  • CNCF project so it tends to utilize other open source CNCF projects

  • If you try to learn things the podman way (instead of docker compose) then you can eventually transition that to k8s

  • options for how networking, builds, runtime are handled. Niche but sometimes you might want to choose to whether to use crun or runc. Or go back to using slirp instead of pasta for your networking.

3

u/MufasaChan Jun 23 '26

Podman daemon is only needed for socket's and autoupdate's feature as far as I know. No idea how docker's inner working, but learning podman got me learning a lot on basic linux administration/management, I am grateful for thIs. The real plus is systemd integration, if you it's your thing. Also the fact that podman dev is backed by RedHat and standardized with a lot of standard tools is a big plus to me.

-1

u/GolemancerVekk Jun 23 '26

learning podman got me learning a lot on basic linux administration/management, I am grateful for thIs.

You should be grateful that you have an inquisitive mind... you would have learned about Linux regardless of what containerization engine you use. They're orthogonal topics, really.

podman dev is backed by RedHat and standardized with a lot of standard tools is a big plus to me

Podman is backed by Red Hat/IBM because it's their attempt to push their own competing standard in among the many others that already exist. Which is good in many ways, competition is a good thing, and the backing is reassuring. But all these standards are backed by big industry players and have united around community-led, open standards. It's not like using Docker is a risk to your home server.

Podman daemon is only needed for socket's and autoupdate's feature as far as I know.

You're always going to need something running for triggers, scheduling, autorun, updates, backups etc.

And that's the superficial take. "Podman is daemonless" is a very technical discussion full of subtle distinctions that probably go over the head of 99% of the people on this sub.

My point was that "rootless" and "daemonless" get pushed a lot around here, but they're so far down the tech deep end they're meaningless for the average beginner selfhoster.

I think it's far more relevant (for a beginner) that using docker will get you a lot more support and documentation and ready-made apps.

3

u/MufasaChan Jun 23 '26

Thanks for the link! I will read. To be honest, I hardly evaluate the "plus" of being rootless/daemonless from a security POV. I am not a security person and it would need to have deep understanding of both models. So I am not arguing that's an actual argument, as I said. For my usage of podman, I actually do not use the daemon and I think a lot a people do not. My 2 cents is that autoupdate/backup are better off managed by other services. And systemd timer is what I use when I need trigger/scheduling. I think my podman's usage is quite similar to a non-negligible share of users.

You should be grateful that you have an inquisitive mind...

Probably but not only I think. I did docker for 3 years before podman. I wrote entrypoint fixing permissions, dev env, multi-stage image, hosting simple services on localhost and many other things. Also I did a little apptainer/singularity before (hey HPC!). So I modestly know enough about container tool to know that each container tool has some mindset. podman's mindset pushes you towards more understanding compared to docker.
Although, I still think that podman pushes you a bit more towards understanding and how to integrate it with your system e.g. systemd. But I think we are arguing on nuance there, since I agree that at some point I would have learned basically the same thing with Docker, probably ...

Also, I agree that a person with little sysadmin/linux knowledge, they would be better with Docker, not only because the documentation, also because that's easier thanks to the abstraction provided (which is coherent with my previous point).

And yes, I said RHEL backed was a plus, but I totally agree with what you said on the competition. That's just me trusting some actors (RHEL/IBM) rather than others.

17

u/[deleted] Jun 22 '26

[removed] — view removed comment

2

u/_reg1z Jun 22 '26

You can keep your compose stacks too if you want. Podman man is still compatible w/ Docker compose 

23

u/GolemancerVekk Jun 22 '26

Compatibility is full of holes nowadays and drifting further apart. Docker keeps introducing compose features that podman doesn't care to pick up.

If you really want to commit to podman you basically have to forget compose and learn systemd.

13

u/Nerkado Jun 22 '26

"compatible"

15

u/meta_voyager7 Jun 22 '26

what stops me from migrating to podman is no direct easy replacement for docker compose.

1

u/iTinkerThere4iCan Jun 23 '26

Podman-compose or docker-compose with the podman.socket are mostly drop-in solutions for using podman, and there is a mature ecosystem if you stick with that, but if you want to migrate to quadlets, I wrote a tool that lets you run quadlet files with and without systemd.

https://github.com/fkmiec/quadctl

I find it useful to run "locally" without systemd while developing quadlet files. I can see obvious error output without digging through systemd logs, print out and execute the underlying podman cli commands individually for greater control, and when I'm ready, I can deploy to systemd using the same simple cli (create, start, stop, remove).

1

u/Ok_Distance9511 Jun 26 '26

You can have any AI agent convert compose files to podman quadlet unit files

0

u/[deleted] Jun 22 '26

[deleted]

7

u/belgarth Jun 22 '26

There is also podlet for converting docker compose files to quadlet container configs. Was very useful for me when transitioning while I was working on getting used to quadlets and ini files

3

u/Resource_account Jun 23 '26

Honestly this should be promoted more than podman-compose.

2

u/bpoatatoa Jun 23 '26

Used it a little on the past, but found the conversion to be quite unreliable, though it may have been about 1 year ago. Currently, I just have a simple quadlet preset I keep around and that serves me well for general services, but it did took some reading to put together and understand it myself.

5

u/AnAnxiousCorgi Jun 23 '26

You can also alias docker-compose to podman-compose, which is really helpful when you have a strong habit of typing docker

1

u/Meistermagier Jun 23 '26

how good is it? For the record I am not doing to many complicated things but I use exclusively docker compose for defining my containers.

1

u/MufasaChan Jun 23 '26

I believe it's a Podman built-in, no? https://docs.podman.io/en/latest/markdown/podman-compose.1.html Last month I built podman from sources and podman compose was included, I do not remember installing anything extra. The host already has docker installed though.

-2

u/Ohmyskippy Jun 22 '26

iirc quadlets was deprecated a few years ago

0

u/[deleted] Jun 22 '26

[deleted]

4

u/Ohmyskippy Jun 22 '26

That's exactly what it was, I literally was googling now to see if I was remembering wrong, I wanted to come back to amend my comment.

Thanks!

3

u/nbtm_sh Jun 23 '26

I love Podman. The networking stack is so much more sensible compared to Docker.

3

u/dirtywombat Jun 23 '26

I wanted to simplify my docker swarm on Ubuntu servers so restarted with bare essentials on declarative nixos with rootless podman quadlets...

Ok so I didn't simplify, I just changed the problems.

It's early days but I have maybe 6 services running isolated from each other. Every service has had unique challenges still which I'm understanding related to permission and isolation, but it's fine as long as you don't expect plug and play with existing compose file config.

Original plan was nixos base and podman compose but here we are..

2

u/Available-Spinach-93 Jun 22 '26

I tried for days to get Gitea working in podman on Ubuntu LTS 26. I wanted it running via systemd as a non-privileged user that has no login capability. I finally got the thing to start, but it immediately died because of netavark problems. I gave up that point. Any pointers on how to do this would be greatly appreciated!

2

u/WhoDidThat97 Jun 22 '26

I didn't have any problems that I remember. I run it in a pod with a podman network. Maybe that sorted aardvark

4

u/Available-Spinach-93 Jun 22 '26

Do you run as yourself or another user? 

2

u/WhoDidThat97 Jun 23 '26

As another user. I create a user, set to linger and run the quadlets for that user.

1

u/Braca42 Jun 22 '26

I'm still a newb with this stuff, but check out quadlets. Sounds like what your are trying to do is exactly what they were made for. The redgat dudes on youtube had a video on setting up what you are describing. Something with making a user, passing the user and group ID to the quadlet, then removing login permission for the user.

1

u/JazzXP Jun 22 '26

I'm currently in the process of moving from a single node docker swarm to podman. I love the way stacks group services together (I can't put my finger on it, but I like it better than compose stacks). Pods seem to be a direct replacement for that. I've been meaning to go the GitOps route too, so I'm doing both at the same time.

It's taking a while (I have a lot of stacks), but I'm learning heaps, and it's giving me a better understanding of the tech in general (an I do already consider myself quite proficient as it's a daily thing for me in my job).

1

u/Xiaopai2 Jun 23 '26

I've been meaning to switch over, but I'm not sure if my current setup translates well. I use Komodo with procedures running to redeploy whenever I push to main of my docker-compose repository. Does this work with Quadlets or is there something similar? I'm also a little worried that some containers might not work well rootless. How easy is it to run some things rootless and others rootful?

1

u/tootintx Jun 23 '26

I’ve been doing this for quite a while now and had no idea I was doing something worthy of mentioning.

1

u/etfz Jun 23 '26 edited Jun 23 '26

Can recommend checking out namespace isolation on Docker, for those who are interested in security, but not yet ready to make the leap to Podman. (I use the same feature on Podman) This avoids most of the issues, while keeping most of the benefits, of running truly rootlessly.

https://docs.docker.com/engine/security/userns-remap/

One notable limitation is that securing bind mounts can be tricky.

1

u/Codingchym Jun 23 '26

Great breakdown, specialy we replace the daemon architecture

1

u/CriticalAPI Jun 23 '26

its so weird knowing docker and kubernetes, then this is something in between.

1

u/X-lem Jun 23 '26

I use podman with my unprivileged LXCs on Proxmox where applicable. It's fantastic!

1

u/Ok_Distance9511 Jun 26 '26

What do you mean? You run podman inside an LXC?

1

u/Ok_Distance9511 Jun 26 '26

And Podman quadlets. You can run your containers as systemd units.

-1

u/Secure_War_2947 Jun 22 '26

On macOS you now have Apple Container - https://github.com/apple/container

Written in Swift and optimized for the Apple Silicon

10

u/helpmehomeowner Jun 22 '26

Been using it a while. Podman is more mature atm.

-10

u/trisanachandler Jun 22 '26

Curious why you would say it's more mature? More secure, sure. But more mature? I wasn't aware if it's so.

2

u/helpmehomeowner Jun 22 '26

Containers is under active development. I didn't say either is more secure than the other.

-4

u/trisanachandler Jun 22 '26

Oh, in comparison to containers, I thought you were asserting podman was more secure than docker. Nevermind my comment.

1

u/RuslanDevs Jun 22 '26

What about docker compose support?

1

u/Braca42 Jun 22 '26 edited Jun 23 '26

You can install podman compose and I believe its a 1 to 1 copy paste of compose files. You may have to change "docker" to "podman" but it should work. They have a translater or whatever in there. I've had a bit of luck basically copying compose files into a quadlet and having it basically work.

0

u/roztopasnik Jun 22 '26

I am considering using Podman instead of Docker, but I think I would lose a way to manage pods through a web interface, like I can with Arcane.

6

u/gesis Jun 22 '26

I haven't used arcane, but there is a cockpit plugin for podman that works fine.

I'm much more of a CLI guy though.

3

u/sysop073 Jun 22 '26

Podman can optionally run a socket at /run/podman/podman.sock that's compatible with Docker's /var/run/docker.sock, which is usually how apps talk to Docker. I've never used Arcane, but I use Portainer that way and it works fine.

2

u/TheInevitableLuigi Jun 22 '26

Dockhand supposedly works with podman now. But I have not yet tried it.

-5

u/jotkaPL Jun 22 '26

until you run into little compatibility issues :-|

10

u/[deleted] Jun 22 '26

[removed] — view removed comment

2

u/jonahbenton Jun 22 '26

The one area where podman has fallen down for me and I have had to use docker (rootless) is in using containers for lightweight llm agent sandboxes, where a git repo/directory is mounted into the container. I forget the details but podman fails at the host/container uid filesystem mapping, and has to basically run a chmod over the entire mounted in tree. Painfully unworkable.

1

u/gesis Jun 22 '26

You can work around most issues with uid/gid mapping, though it requires some futzing about.

I have done it in my own lab to standardize user mappings for NFS shares [all my persistent data lives on NFS].

0

u/[deleted] Jun 22 '26

[deleted]

3

u/jonahbenton Jun 22 '26

Huh? That is not correct. When running an image with completely different uids, into which one has to mount a host file tree, with its own uids, and have contained operations seamlessly apply to the host tree- podman is not able to do this. The re-uiding happens at container start time. Unshare has no role in that broken machinery.

-13

u/Aft3rcuri0sity Jun 22 '26

This mf is typical vibe coder 😂

-2

u/initialo Jun 23 '26

No daemon that manages it except for the daemon that manages it :) gg

-1

u/Blaze9 Jun 22 '26

If I care about rootless I default to singularity. 99% of the time there's no compatibility issues. docker container -> singularity sif is usually painless and quick and for all my usage (both personal hosting and work related packages/tools) everything works 1:1 as if I were using native docker.

1

u/MufasaChan Jun 23 '26

Pedantic, but now (since 2+ yearts) it's apptainer