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?
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.
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
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
- cgroupVersion: v2 !!!= cgroupVersion: v2
- networkBackend: netavark !!!= networkBackend: cni
So, yes! it’s working!
@arjan please, take a look to this thread. Thank you.