News for hackers. Stuff that matters.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by kuratkull on Thursday November 14, 2024 @02:28PM (#42140145)
Podman actually works really well. Out-of-the-box virtually-no-configuration-needed rootless containers. It's also usable via docker-compose with a single env variable. (podman-compose wasn't up to par for us)

We've been using it for a couple of years running and managing hundreds of containers per server - no feeling of flakiness whatsoever. It's virtually zeroconf and even supports GPUs for those who need it. It's like docker but better, IMO.

Hope it gets a popularity boost from CNCF. Rooting for it.

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by mattgreenrocks on Thursday November 14, 2024 @04:19PM (#42141341)
Dumb question: is it rootless for users on something like macOS?

I'd love to get the benefits of Docker without the battery drain and the Docker software, but I'm not sure if Podman would help much with either.

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by goalieca on Thursday November 14, 2024 @04:42PM (#42141541)
On macOS it creates a centos VM to run containers in. Rootless simply means that the root user in a container maps to the runner outside and not as the actual system root.

Edit: .. because the runner is not needing to run as root

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by zamalek on Thursday November 14, 2024 @04:02PM (#42141174)
I vastly prefer it to Docker, especially buildah over buildx. Instead of inventing yet-another-dsl buildah allows you to simply use shell scripts (though it does also support dockerfiles). Another thing buildah is really good at is not doing much automatically: you can really optimize layers if you care to.

The Podman ecosystem has given me a strong disliking of the Docker ecosystem, so I'm also rooting for it.

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by ryan29 on Thursday November 14, 2024 @07:47PM (#42142929)
I think I might be the only one that prefers Docker for building Docker containers using CI.

I use Drone, but instead of using the Docker plugin I start a detached (background) Caddy server to work as a proxy to DOCKER_HOST. That lets me proxy to the local Docker socket to take advantage of caching, etc. while I'm iterating, but gives the option of spinning up docker-in-docker to get a clean environment, without any caching, and running a slower build that virtually identical to what happens on the CI server.

I find that having the daemon available solves a ton of issues that most of the CI provided builder plugins have. For example, with the builder plugins I'd always end up with a step like build-and-tag-and-push which didn't work very well for me. Now I can run discreet build steps like build, test, tag, push and it feels far more intuitive, at least to me.

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by papichulo2023 on Thursday November 14, 2024 @03:22PM (#42140768)
I only dislike Podman because some distributions used it as an alias for docker which made a lot of docker-compatible software to not work on that distribution unless some workarounds. I wouldnt normally blame the application for this but in this case they are both, application and distribution, from the same dev.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by colechristensen on Thursday November 14, 2024 @03:29PM (#42140838)
Agreed, the `podman` command is 95% drop-in compatible with the `docker` command, but those edge cases are annoying and I would rather just use the docker cli backed with podman running the containers.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by tristan957 on Thursday November 14, 2024 @03:43PM (#42141004)
Podman has a docker frontend. On Fedora, it is packaged as podman-docker, I believe. I recently went through the pain of getting testcontainers working on Fedora 41 with Podman. After enabling the Podman socket and setting an environment variables, I was off to the races!
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by Cyph0n on Thursday November 14, 2024 @03:47PM (#42141042)
+1, Podman is great. I have been running it for a while on NixOS.

But Compose doesn’t mesh well with the overall NixOS configuration system. So I ended up building a custom tool that can convert your existing Compose project into a NixOS config.

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by jeppester on Thursday November 14, 2024 @02:43PM (#42140324)
I completely agree and have had the same experience as you with docker-compose working better than the alternatives.

Past versions of podman were flaky, but since version 4, which is now a couple of years old, I haven't had any issues whatsoever. I'd recommend anyone using containers on linux to try it out instead of installing docker out of habit.

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by righthand on Thursday November 14, 2024 @03:02PM (#42140544)
If podman compose would parse env var strings correctly, then it would be on par. Not sure why that hasn’t been fixed but probably because it’s a stepping stone instead of a well thought out replacement.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by bombela on Thursday November 14, 2024 @02:57PM (#42140486)
The IO through fuse-overlay is performance limiting though. It's almost half the speed as overlay directly for layers with many tiny files.

Note that Linux allows you to mount overlay within a user namespace if you are root within the user namespace.

In other words, if you are root within a container; even though it is not root on the host; Linux accepte ton mount overlay filesystems (most filesystems are not allowed). `man user_namespace`

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by nolist_policy on Thursday November 14, 2024 @03:56PM (#42141117)
You may need to do

  podman system reset
The Linux kernel only gained unprivileged overlay recently. Kernel fuse and fuse-overlay are incompatible so you need to wipe everything.

You may need to set

  [storage]
  
  driver = "overlay"
in storage conf as well.

https://docs.podman.io/en/stable/markdown/podman-system-rese...

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by dbacar on Thursday November 14, 2024 @02:58PM (#42140492)
> docker-compose with a single env variable what is that env variable?
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by whilenot-dev on Thursday November 14, 2024 @03:30PM (#42140850)
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by dbacar on Friday November 15, 2024 @06:42AM (#42146039)
Thank you
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by kuratkull on Friday November 15, 2024 @04:37PM (#42151420)
yeah, basically verbatim `DOCKER_HOST=unix:///run/user/1000/podman/podman.sock`
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by bityard on Thursday November 14, 2024 @03:11PM (#42140660)
> It's also usable via docker-compose

Is that "docker-compose" (with a dash) or "docker compose" (with a space)?

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by whilenot-dev on Thursday November 14, 2024 @03:38PM (#42140940)
Both should do exacly the same, they are just installed differently. docker compose is installed as docker CLI plugin (Linux only), and docker-compose is installed as standalone binary.

See ref: https://docs.docker.com/compose/install/#scenario-two-instal...

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by tristan957 on Thursday November 14, 2024 @03:44PM (#42141011)
There are subtle differences between the two and not exactly the same.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by whilenot-dev on Thursday November 14, 2024 @03:47PM (#42141040)
That would be news to me, as both are pointing to the exact same GitHub repository[0]. Can you name the differences?

[0]: https://github.com/docker/compose

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by thangngoc89 on Thursday November 14, 2024 @06:41PM (#42142498)
Previous docker-compose was a separate program, written in Python if I remember correctly, people usually preferred to them as v1. Later docker incorporated it into the docker binary itself as a subcommand so that’s v2
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by whilenot-dev on Friday November 15, 2024 @01:43AM (#42144443)
v2 is still a separate binary, it can just be installed in different ways (on Linux). If GGGP was referring to v1, then that's legacy software since 2+ years and they probably shouldn't use it.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by yjftsjthsd-h on Friday November 15, 2024 @02:03AM (#42144545)
The one problem I previously hit was that the ansible integration used the Python version; I hope they've fixed it now but haven't looked lately.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by whilenot-dev on Friday November 15, 2024 @02:30AM (#42144663)
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by yjftsjthsd-h on Friday November 15, 2024 @01:26PM (#42149507)
On the I've hand: that's great news!

On the other:

> The Docker compose CLI plugin has no stable output format (see for example https://github.com/docker/compose/issues/10872 ), and for the main operations also no machine friendly output format. The module tries to accomodate this with various version-dependent behavior adjustments and with testing older and newer versions of the Docker compose CLI plugin. Currently the module is tested with multiple plugin versions between 2.18.1 and 2.23.3. The exact list of plugin versions will change over time. New releases of the Docker compose CLI plugin can break this module at any time.

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by kuratkull on Friday November 15, 2024 @04:39PM (#42151448)
AFAIK docker-compose is a an older utility, and `docker compose` is the new-way to do things.
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by Sparkle-san on Thursday November 14, 2024 @06:49PM (#42142569)
> Rooting for it.

No root necessary :)

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by forabi on Thursday November 14, 2024 @07:57PM (#42142974)
> Rooting for it.

I wanted to say something funny about "rooting" and "rootless", but it's probably too silly. :)

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by msgilligan on Thursday November 14, 2024 @08:12PM (#42143032)
Ruthlessly rooting for rootless!
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by yangff on Friday November 15, 2024 @02:50PM (#42150237)
until you start to use zfs.. (completely doable with fuse overlay, but just painful)
Re:Red Hat to contribute container tech (Podman, bootc, Comp... by kuratkull on Friday November 15, 2024 @04:47PM (#42151540)
For posterity, there have been some issues when destroying containers. Errors about "inconsistent state of container" or such. But these have always been about non-running containers, so the answer has been destroy/recreate, so no measurable impact for the business. After spawning and destroying thousands of containers in a high-load live environment(across half a dozen servers), I consider podman pretty stable.

And assuming my own comment is high up, this is the env variable we automatically load:

> DOCKER_HOST=unix:///run/user/1000/podman/podman.sock

Re:Red Hat to contribute container tech (Podman, bootc, Comp... by jacooper on Saturday November 16, 2024 @05:14AM (#42155624)
Honestly everytime i wanted to use podman i hit a bug, which is already fixed most of the time but i can't get the new version because they don't have any direct repos to get updates from, this is very helpful for docker.

Also networking in rootless containers still suck.

The end result is just go bakc to docker with less hassle and better stability.