storage
conmon
storage | conmon | |
---|---|---|
5 | 4 | |
526 | 396 | |
1.0% | 1.8% | |
9.7 | 7.7 | |
2 days ago | 5 days ago | |
Go | C | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
storage
-
Where are the containers located on my system?
Check here: https://github.com/containers/storage/blob/main/docs/containers-storage.conf.5.md
-
Storage Solutions & Their Use Cases
One example that keeps popping up over the years is containers and ZFS or more specifically Linux kernel namespaces and ZFS. First LXD in 2016, podman in 2020 and 2021. There is docker issues in the past as well with the ZFS storage driver or overlayfs. These issues are fixed rather quickly by ZFS (because they are very good at what they do) or by upstream, but bugs keep happening. It is something I do not want to deal with. As I expect future problems with ZFS and projects that depend on specific features of the linux kernel, I prefer using something else. In this case Stratis, LVM and XFS, or LVM and ext4.
-
How to mount network storage into podman rootless container?
I tried using NFS because I know it well, and it is easy to do using ZFS. This Red Hat blog post says NFS should work and it does not work at the same time. I decided to just try. The ZFS server has no idea about the subuids on the podman host, so I had to mess around with --uidmap and --gidmap. That worked, as long as I did not use a pod. To keep things neat and simple, I tried to put all my Nextcloud containers into one pod. However, the id-mapping features cannot map multiple container IDs to the same host IDs. So, I cannot map the www-data (70) user and the postgres (82) user to localadmin (1000) on the podman host. Next, I tried directly mounting the NFS share as a volume using the '--opt type=nfs4' option when creating the volumes. Right away, I learned that rootless containers can't mount network shares. Makes a certain kind of sense and is also documented in the man page. But I first tried using root containers, to prove out the concept. The volumes mounted without complaint, but I landed back at square one because the id-mapping is not applied anywhere now. Appears to me that, NFS is a complete dud for this kind of application.
- Overlay: Support Native Rootless Mounts
-
Podman: A Daemonless Container Engine
Docker is properly attributed to, see https://github.com/containers/storage/blob/a4cc7aa79e050c976...
I think OP wanted to say that Podman hates Docker what is not I feel when I'm interacting with the community there. People who use Podman do it because of it's additional features that Docker does not have, like starting an Container from a rootfs or mounting the currect directory in a container using "." as path. It's a lot of small things that make Podman better.
conmon
-
Creating Kubernetes Cluster With CRI-O
It is an open-source, community-driven project which supports OCI-based container registries. It is being maintained by contributors working in Red Hat, Intel, etc. It also comes with a monitoring program known as conmon. Conmon is an OCI container runtime monitor, which makes the communication between CRI-O and runc for a single container.
-
Which alternative for slirp4netns in rootless containers is better?
When considering using socket activation it's good to know that socket-activation has the advantage that you can create on-demand services. And in the future you might be able to do container image upgrades without loosing an active TCP connection https://github.com/containers/conmon/issues/393 (Right now it's just a feature request that I wrote).
-
Docker is dead?!? Podman - an alternative tool?
This was a wrong assumption. Podman directly uses runC or crun instead of containerd using a technology named conmon. Some more useful information can be found in this article.
-
Podman: A Daemonless Container Engine
Well, "daemonless" is kind of marketing - there is still this daemon-per-container 'conmon' thing https://github.com/containers/conmon and I don't get why it is needed because 1) who actually needs to re-attach anyway? 2) container's streams are already properly handled by whatever supervisor (e.g. systemd). You can't disable conmon and I'm not sure if its usage is not hardcoded throughout the codebase.
I would very much like to use Podman as a finally proper container launcher in production (non-FAANG scale - at which you maybe start to need k8s), but having an unnecessary daemon moving part in thousands lines of C makes me frown so far.
What are some alternatives?
asciinema - Platform for hosting and sharing terminal session recordings
podman - Podman: A tool for managing OCI containers and pods.
go - The Go programming language
runc - CLI tool for spawning and running containers according to the OCI specification
zfs - OpenZFS on Linux and FreeBSD
crun - A fast and lightweight fully featured OCI runtime and C library for running containers
docker - Docker - the open-source application container engine
railcar - RailCar: Rust implementation of the Open Containers Initiative oci-runtime
distribution-spec - OCI Distribution Specification