dandroid ,

I like podman because rootless and daemonless are built-in and default. Yes, it can be done on docker, but you have to do a bunch of shit to get it set up.

You could create the alias alias docker="podman" and 99% of the time, you won't even be able to tell the difference since podman is a docker drop in replacement. All the docker documentation applies to podman as well. But since docker runs as root by default, some edge cases might not work out of the box (like binding to a port on the host less than 1000).

Podman comes with some neat tools like being able to create systemd service files to start and stop containers as services.

To use docker-compose, you'll need some additional packages. That's probably the biggest drawback to podman imo. Podman wants to use pods instead of docker-compose, but I think they gotta take their heads out of their asses and just support the more popular format on that one. Not to mention docker-compose is just plain better imo. Easier to define, easier to understand, easier to modify. The list goes on and on.

vegetaaaaaaa ,
@vegetaaaaaaa@lemmy.world avatar

You could create the alias alias docker="podman"

There's even an official Debian package that takes care of this for you: https://packages.debian.org/bookworm/podman-docker

dandroid ,

That package actually does a bit more than that! If you don't need all the extras, then I say just add the alias and be done with it.

Shimitar ,
@Shimitar@feddit.it avatar

Definitely podman + podman compose.

Its fully open source (docker isn't) and its secure by design (security has been added to docker as an after fought).

Also podman is rootless by design, docker takes a bit of effort to run root less.

MangoPenguin ,
@MangoPenguin@lemmy.blahaj.zone avatar

I like the idea behind Podman, but it's not a suitable drop in replacement for Docker yet. Especially since it requires manual setup to auto-start stacks at boot, and can't import docker compose files easily.

Docker is easier to use, has many more examples and tutorials out there, and every project generally provides a docker compose file ready to go for quick setup.

dragnucs ,

There is now podman compose that can read and use docker-compose files. As for importing, I cannot tell.

falcon15500 ,
@falcon15500@lemmy.nine-hells.net avatar

Podman rootless, using quadlets for systemd services. :D

genie ,

What no love for Incus round these parts?

sudneo ,

Because the lxc way is inherently different from the docker/podman way. It's aimed at running full systems, rather than mono process containers. It has it's use cases, but they are not as common IMHO.

genie ,

Real men use Incus NixOS containers for reproducible builds instead of wimpy dockerfiles 😤😤

/s -- for real though, I hope someday you finally remove the stick from where the sun doesn't shine ;)

sudneo ,

Did it sound cold? Because I didn't mean that, I just meant to actually answer the question from my PoV. Just for the record, I also did not down vote you.

So yeah, use whatever footgun you prefer, I don't judge :)

CriticalMiss ,

I use Docker exclusively. Podman is the NIH syndrome response to an industry standard. It has its benefits but Docker just works.

FooBarrington ,

Podman wasn't built due to NIH. Docker has real problems (though many have been fixed), and Podman was built to fix those.

CriticalMiss ,

Docker Engine is open source. They could’ve easily contributed patches to it which just further proves that it is a NIH syndrome response.

FooBarrington ,

The Podman developers did contribute to Docker for a while before starting the project. Docker kept introducing issues and had some fundamentally bad design decisions that they didn't want to change.

At least try to look into the history of these things before making broad and easily falsifiable statements.

Hawk ,

They both kind of suck in their own way.

If you want to things to run at startup and you’re not on systemd, rootless docker is probably easier.

Otherwise podman is mostly fine but be careful of native overlay if you’re not on BTRFS, this causes some pretty long build times.

Shimitar ,
@Shimitar@feddit.it avatar

Takes 1 minute to write a non systemd startup script, come on.

I understand systemd "spoiled" people, but not having a potentially insecure always running daemon for no purpose at all (docker) beat the alternative for me.

rizoid ,
@rizoid@lemmy.dbzer0.com avatar

Docker is a great choice with lots of good tutorials. I personally use podman since all my servers are now running Fedora server and podman is installed by default.

matcha_addict ,

Podman is slightly better, but most tutorials are for docker.

So, podman if you're comfortable looking through docs, man-pages, scarce Internet resources, and trial and error for finding things out. Especially if you care about having better security with rootless mode.

Podman also has a different way for managing many containers at once, and the interaction between them.

AustralianSimon ,
@AustralianSimon@lemmy.world avatar

No love for kubernetes?

69420 ,

Kubernetes? I've never even seen her netes.

sudneo ,

I think k8s is a different beast, that requires way more domain specific knowledge besides server/Linux basic administration.
I do run it, but it's an evolution of a need, specifically when you want to manage a fleet of machines running containers.

anzo ,

Even then, there's dockerswarm.rocks (linking directly to tutorial to show how easy it is!)

derpgon ,

This website is deprecated.

It's kept around mainly for historical reasons.

I've tried Docker Swarm because Kubernetes seemed like an overkill for a cluster of 4 small-ish servers. There have been several issues (networking for example) that took me two days to solve - by reinstalling the machine completely.

There are some hoops and hurdles along the way, some command will just literally brick your cluster without any notice whatsoever (like removing the second manager, leaving only one and cluster stops responding, but you get no warning that's gonna happen).

Also secrets, where there is no simple way to manage them, or replace them. You can't just replace a secret, you have to remove and recreate it. Which means turning off the service or creating a new secret with a different name and do a rolling update, which is just annoying to do every time unless you can afford a robust CI CD pipeline code that does it automatically.

sudneo ,

I really thought swarm was dead :)

To be honest, some kubernetes distributions make the cluster operations minimal (I use k0s managed via ansible)!

Either way, the moment you go from N containers on one box to N containers on M boxes you need to start considering how to handle stateful applications, load balancing, etc. And that in general requires knowledge on a domain which is different from having simply applications wrapped in containers locally.

AustralianSimon ,
@AustralianSimon@lemmy.world avatar

Can be ott yeah. I set mine up to understand how it all works and just kept things going.

PoliticallyIncorrect , (edited )
@PoliticallyIncorrect@lemmy.world avatar

I use Docker and it works for what I use it so I have no need to change it, maybe if in the future I have the need to use podman I would consider to change. But right now I'm not interested.

rentar42 ,

I personally prefer podman, due to its rootless mode being "more default" than in docker (rootless docker works, but it's basically an afterthought).

That being said: there's just so many tutorials, tools and other resources that assume docker by default that starting with docker is definitely the less cumbersome approach. It's not that podman is signficantly harder or has many big differences, but all the tutorials are basically written with docker as the first target in mind.

In my homelab the progression was docker -> rootless docker -> podman and the last step isn't fully done yet, so I'm currently running a mix of rootless docker and podman.

titey ,
@titey@jlai.lu avatar

Podman. This is the way.

Molecular0079 ,

I use podman with the podman-docker compatibility layer and native docker-compose. Podman + podman-docker is a drop-in replacement for actual docker. You can run all the regular docker commands and it will work. If you run it as rootful, it behaves in exactly the same way. Docker-compose will work right on top of it.

I prefer this over native Docker because I get the best of both worlds. All the tutorials and guides for Docker work just fine, but at the same time I can explore Podman's rootless containers. Plus I enjoy it's integration with Cockpit.

WeLoveCastingSpellz ,

I like podman more because people told me it was better and it just worked for me :P

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • selfhosted@lemmy.world
  • test
  • worldmews
  • mews
  • All magazines