Any plan to support podman?

Seeing as it seems to be the next rootless container environment push everywhere to replace docker, is there any plan to add the package (and related tools) to Clear Linux OS?

1 Like

Hey @lebel I am also interested to find out (and Buildah and Skopeo?)… Meanwhile, has anybody successfully built Podman from source?

I’m running podman, but with some limitations.

$ sudo swupd bundle-add podman

then

$ pip3 install --user podman-compose

and yes, it works, but at this moment I’m wondering why DNS resolution doesn’t work properly.

1 Like

Hahahaha! exactly!

Anyway. I really tried for 2 days to achieve a very simple task

podman run -d --name http-server httpd

podman run -it --rm alpine /bin/sh

apk add --no-cache curl
curl http-server

and no success.
If you know how to “ping” containers, please, let me know, and I’ll be glad to return to Clear Linux. In fact, I like it! but podman is a must-to-have in my daily tasks.

Initially I tried using the plain “swupd bundle-add podman”, and then I faced troubles with registers.conf. Yes, I added it manually. Then, /etc/subuid, /etc/subgid also defined manually. Then, mod_probe iptable as far as I can remember I executed too. Finally after these “hacks” I could run a container. But, when I tried to exercise the example above, I couldn’t make it work. I tried to add manually netavark, tried to change the resolv.conf to stub-resolv.conf, no chances…

The nail in the coffin was when suddenly I started to see that Gnome is not working properly - Chrome and other applications started to behave like crazy, rendering was corrupted and… eehhfff… anyway! I believe I’ve to try something different. Perhaps docker? but I dont like the idea to run containers as root.

oh! my bad! that’s a wrong exercise! I just found that the exercise I mentioned earlier is not working even under Centos-Stream :dotted_line_face:

Here’s the correct one:

[rianby64@localhost ~]$ cat para-no-olvidar.sh 

podman run -d --rm --name http-server --network podman2 httpd

podman run -it --rm --network podman2 alpine /bin/sh

apk add --no-cache curl
curl http-server

## I've to mention that I executed podman network create, so I've podman2 as a new network.

[rianby64@localhost ~]$ podman run -it --rm --network podman2 alpine /bin/sh
/ # apk add --no-cache curl
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz

(1/7) Installing ca-certificates (20230506-r0)
(2/7) Installing brotli-libs (1.0.9-r14)
(3/7) Installing libunistring (1.1-r1)
(4/7) Installing libidn2 (2.3.4-r1)
(5/7) Installing nghttp2-libs (1.55.1-r0)
(6/7) Installing libcurl (8.2.1-r0)
(7/7) Installing curl (8.2.1-r0)
Executing busybox-1.36.1-r2.trigger
Executing ca-certificates-20230506-r0.trigger
OK: 12 MiB in 22 packages
/ # curl http-server
<html><body><h1>It works!</h1></body></html>
/ # 

it works in Centos-Stream

Now, let’s take a look…

[rianby64@localhost ~]$ podman info 
host:
  arch: amd64
  buildahVersion: 1.31.2
  cgroupControllers:
  - memory
  - pids
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: conmon-2.1.7-3.el9.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.1.7, commit: a17a0b69c3c1c6fac87da379e0f7daef5507d7f9'
  cpuUtilization:
    idlePercent: 96.43
    systemPercent: 0.84
    userPercent: 2.73
  cpus: 8
  databaseBackend: boltdb
  distribution:
    distribution: '"centos"'
    version: "9"
  eventLogger: file
  freeLocks: 2046
  hostname: localhost.localdomain
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
  kernel: 5.14.0-354.el9.x86_64
  linkmode: dynamic
  logDriver: k8s-file
  memFree: 12628598784
  memTotal: 16464715776
  networkBackend: netavark
  networkBackendInfo:
    backend: netavark
    dns:
      package: aardvark-dns-1.7.0-1.el9.x86_64
      path: /usr/libexec/podman/aardvark-dns
      version: aardvark-dns 1.7.0
    package: netavark-1.7.0-1.el9.x86_64
    path: /usr/libexec/podman/netavark
    version: netavark 1.7.0
  ociRuntime:
    name: crun
    package: crun-1.8.6-1.el9.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 1.8.6
      commit: 73f759f4a39769f60990e7d225f561b4f4f06bcf
      rundir: /run/user/1000/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL
  os: linux
  ...

I’ve to notice the differences between podman out of the box from CentosStream against ClearLinux

  1. cgroupVersion: v2 !!!= cgroupVersion: v2
  2. networkBackend: netavark !!!= networkBackend: cni

So, yes! it’s working!

@arjan please, take a look to this thread. Thank you.