Live data from Hacker News

Docker is dead? Podman – an alternative tool?

content.fme.de

51–60 of 183 posts

Re: Docker is dead? Podman – an alternative tool?

#52

It's okay to stick with Docker if it works for us right? There's nothing fundamentally wrong with it right? At the moment Podman is just more work for us because I and other devs don't have years of of experience and intuitions about Podman like we have with Docker. I'd rather just focus on business problems rather than another migration.

Yep Docker's fine (IMO ofc). If you're running on Linux hosts, then Docker engine is open source, free and works.

Re: Docker is dead? Podman – an alternative tool?

#53

Rootless podman is my first choice for using containers now, it works fantastically well in my experience. It's so much nicer to have all my container related stuff like volumes, configs, the control socket, etc. in my home directory and standard user paths vs. scattered all over the system. Permission issues with bind mounts just totally disappear when you go rootless. It's so much easier and better than the root pr…

What about UID issues? I remember using it years ago and sometimes having permission issues in containers when mounting local files. How is that nowadays? I much prefer running this in a rootless manner also. What about docker compose? Is there an alternative for podman?

There’s podman-compose which does what you want, but is a community maintained script.

There’s also the ability for podman to run as a system service, and provide an OCI compatible container API. This then integrates seamlessly with the actual docker-compose.

See: https://www.redhat.com/sysadmin/podman-docker-compose

Re: Docker is dead? Podman – an alternative tool?

#55

Earlier quoted context omitted.

What about UID issues? I remember using it years ago and sometimes having permission issues in containers when mounting local files. How is that nowadays? I much prefer running this in a rootless manner also. What about docker compose? Is there an alternative for podman?

There’s podman-compose which does what you want, but is a community maintained script. There’s also the ability for podman to run as a system service, and provide an OCI compatible container API. This then integrates seamlessly with the actual docker-compose. See: https://www.redhat.com/sysadmin/podman-docker-compose

You can point the official docker-compose at podman now!

I do that!

It's 99.999% compatible as the podman people basicaly reimplemented all the docker daemon APIs.

It sometimes lags a bit behind, because sometime docker implements new stuff... But for usage with docker-compose it has worked flawlessly for me.

EDIT: you can also export the podman unix socket via socat, i also tried it to run a rootless docker runtime in kubernetes (podman daemon running as a pod, to run docker builds in kubernetes) as an experiment. It works but i'd love to see a better integration with Gitlab runner project.

Gitlab is supposedly getting podman support any time soon, in 15.1 IIRC ?

Re: Docker is dead? Podman – an alternative tool?

#56

OCI compatible containers are the future, docker and podman both classify as such. https://opencontainers.org/ That being said, docker blows. Docker desktop blows more. Docker desktop on Windows blows the most. I always get stuck with a bind mount misbehaving, or some other issue that requires me to wipe the docker desktop data to fix it. Just use docker compose for simple stuff, and stay away from docker for Windows…

On the Docker for Windows note, it's not podman but after I had trouble with their "forced upgrade unless enterprise" policy (which made me update to a broken version with a known issue they didn't solve for weeks) I switched to Rancher Desktop and never looked back.

You get all the things (docker CLI, docker-compose, kubernetes via k3s) but it's FOSS and it doesn't feel like they're trying to shove a premium plan down your throat.

Re: Docker is dead? Podman – an alternative tool?

#57
post #49

Earlier quoted context omitted.

> Runs docker in a VM for you It depends: - the Hyper-V backend uses a VM for running the actual containers, which is a bit annoying because it just sits there and eats your RAM whenever it's on (technically you could enable dynamic memory for the VM, but i think it used to break) - the WSL2 backend uses the whole fancy new system that Microsoft came up with to, idk, attempt to embrace and extend Linux or something;…

And 2022 is still not the year of the Linux Desktop. Many tried and went back to OSX die to the rough corners of desktop Linux.

It will probably never be the year of the Linux Desktop in the mainstream, despite many promising projects out there.

But for personal usage, Linux is more than acceptable - if you can grokk all of its pain points, that is. Linus Tech Tips did a few videos on the topic recently, it was painful but understandable to watch. Personally, Ubuntu LTS (or equivalent boring long term support distro) or something with XFCE is solid and really usable, especially if you intend to do programming, where things are weird on Windows sometimes.

Except for gaming. Proton still has a ways to go and Wine isn't optimal for that sort of stuff and neither Linux or OS X are worth supporting for many games/projects/software because they represent a small part of the total userbase. For example, in regards to games: https://store.steampowered.com/hwsurvey

  Windows 96.68%
  OSX     2.20%
  Linux   1.12%
Supporting any system that's not Windows for games would be like burning money. At that point, you might as well offer the game for free on those systems (if using an engine like Unity/Unreal/Godot, where builds are easy) but refuse bug reports on them, if you don't have the resources for that kind of support.

Re: Docker is dead? Podman – an alternative tool?

#58

Earlier quoted context omitted.

Runs docker in a VM for you, abstracts that away, confuses the hell out of new and old developers alike.

> Runs docker in a VM for you It depends: - the Hyper-V backend uses a VM for running the actual containers, which is a bit annoying because it just sits there and eats your RAM whenever it's on (technically you could enable dynamic memory for the VM, but i think it used to break) - the WSL2 backend uses the whole fancy new system that Microsoft came up with to, idk, attempt to embrace and extend Linux or something;…

WSL2 is basically a VM too, but managed by windows: https://docs.microsoft.com/en-us/windows/wsl/compare-version....

Re: Docker is dead? Podman – an alternative tool?

#59
post #36

Earlier quoted context omitted.

You can set it as systemd socket service, so it doesn’t even run until something tries to connect. That said, I don’t even bother with that. Podman can run K8s configs, and they are yaml too, only slightly more verbose than a compose file, if you strip everything out you don’t need. The CLI is nicer than compose too, with proper commands instead of tying up a terminal until a ctrl-c.

So you can use kubectl but it talks to podman and not to the api of a k8s cluster? Or does it have its own cli?

There's apparently a 'podman play kube' command that can take some k8s yaml like pod descriptions and instantiate them directly: https://docs.podman.io/en/latest/markdown/podman-play-kube.1... I hadn't heard of this until now but it sounds pretty nifty!

Re: Docker is dead? Podman – an alternative tool?

#60

Rootless podman is my first choice for using containers now, it works fantastically well in my experience. It's so much nicer to have all my container related stuff like volumes, configs, the control socket, etc. in my home directory and standard user paths vs. scattered all over the system. Permission issues with bind mounts just totally disappear when you go rootless. It's so much easier and better than the root pr…

What about UID issues? I remember using it years ago and sometimes having permission issues in containers when mounting local files. How is that nowadays? I much prefer running this in a rootless manner also. What about docker compose? Is there an alternative for podman?

Yeah in my experience with rootless you don't need to worry about UID shenanigans anymore. Containers can do stuff as root (from their perspective at least) all they want but any files you bind mount into the container are still just owned/modified by your user account on the host system (not a root user bleeding through from the container).
Post reply on HN