Podman 4.0.0

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • podman

    Podman: A tool for managing OCI containers and pods.

  • I found getting started with Podman on Windows is utterly confusing:

    1) Podman has two documentation entry points (https://docs.podman.io and https://podman.io/getting-started/) because... ? It is confusing to the user at first. It makes more sense to have everything in one place.

    2) Podman does not _actually_ offer binary releases (but claims to do so here: https://podman.io/getting-started/installation#windows and https://github.com/containers/podman/blob/main/docs/tutorial...) because... ? They want me to compile it myself?

    3) The Windows installation tutorial links to another article (https://www.redhat.com/sysadmin/podman-windows-wsl2) that is, by today's measurements, _very_ old, because... ? I cannot imagine that things have not changed since then, I refuse to believe it :D

    From what I understand, Podman will become an _actually_ easy to use and viable solution to Docker for Desktop once Podman 4.1 has been released, and we have host volume mount support, which is a must-have feature for development.

  • nerdctl

    contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...

  • How is it compared to nerdctl[0] (another docker compatible cli)?

    [0]: https://github.com/containerd/nerdctl

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • mariadb-podman-socket-activation

    Demo of a templated systemd user service that runs rootless Podman and starts MariaDB with socket activation

  • Support for socket activation

    Podman will pass on the socket-activated socket to the container.

    I wrote a small example demo for setting up socket activation with systemd, Podman, and a MariaDB container:

    https://github.com/eriksjolund/mariadb-podman-socket-activat...

  • Support for socket activation

    Podman will pass on the socket-activated socket to the container.

    I wrote a small example demo for setting up socket activation with systemd, Podman, and a MariaDB container:

    https://github.com/eriksjolund/mariadb-podman-socket-activat...

  • compose-cli

    Discontinued Easily run your Compose application to the cloud with compose-cli

  • `docker-compose` is different from `docker compose` (with a space in between words).

    The former will be replaced by the latter in the long run.

    https://github.com/docker/compose-cli/issues/901#issuecommen...

  • buildkit

    concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

  • docker supports some volume mounts while building, it's part of the buildkit backend and is used for mounting secrets during builds. It is very poorly documented and hidden behind the buildkit buildx command. Check out the RUN --moount= section here: https://github.com/moby/buildkit/blob/master/frontend/docker...

  • cri-dockerd

    dockerd as a compliant Container Runtime Interface for Kubernetes

  • Kubernetes requires a tool which implements the Container Runtime Interface, a standardized API for starting & managing containers. This is from 2015-2016[1].

    For a while Kubernetes has included something called the "dockershim", it's own implementation of a CRI interface that, under the hood, calls Docker or Podman. There's also tools like kind[2] ("kubernetes in docker") that go further- not just hosting Kubernetes worker containers in Docker, but hosting the main kubernetes daemons also in Docker.

    Kubernetes deprecated Dockershim, formally in December 2020, but is just throwing the switch now in the upcoming 1.24, expected mid-April[3]. A company Mirantis has pledged to take over support of Dockershim[4], and is calling the new effort "cri-dockerd"[5]. This should allow Kubernetes workers to continue to run via Docker or Podman.

    Kind is unaffected, since it runs the main Kubernetes controllers in Docker, which then launch their own opencontainerd (one off the main CRI implementations) inside that Docker container, nested like, so no dockership/cri-dockerd is needed).

    [1] https://kubernetes.io/blog/2016/12/container-runtime-interfa...

    [2] https://kind.sigs.k8s.io/

    [3] https://kubernetes.io/blog/2022/01/07/kubernetes-is-moving-o...

    [4] https://www.mirantis.com/blog/mirantis-to-take-over-support-...

    [5] https://github.com/Mirantis/cri-dockerd

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • kind

    Kubernetes IN Docker - local clusters for testing Kubernetes

  • Kubernetes requires a tool which implements the Container Runtime Interface, a standardized API for starting & managing containers. This is from 2015-2016[1].

    For a while Kubernetes has included something called the "dockershim", it's own implementation of a CRI interface that, under the hood, calls Docker or Podman. There's also tools like kind[2] ("kubernetes in docker") that go further- not just hosting Kubernetes worker containers in Docker, but hosting the main kubernetes daemons also in Docker.

    Kubernetes deprecated Dockershim, formally in December 2020, but is just throwing the switch now in the upcoming 1.24, expected mid-April[3]. A company Mirantis has pledged to take over support of Dockershim[4], and is calling the new effort "cri-dockerd"[5]. This should allow Kubernetes workers to continue to run via Docker or Podman.

    Kind is unaffected, since it runs the main Kubernetes controllers in Docker, which then launch their own opencontainerd (one off the main CRI implementations) inside that Docker container, nested like, so no dockership/cri-dockerd is needed).

    [1] https://kubernetes.io/blog/2016/12/container-runtime-interfa...

    [2] https://kind.sigs.k8s.io/

    [3] https://kubernetes.io/blog/2022/01/07/kubernetes-is-moving-o...

    [4] https://www.mirantis.com/blog/mirantis-to-take-over-support-...

    [5] https://github.com/Mirantis/cri-dockerd

  • podman-desktop-companion

    Podman desktop companion

  • I really like Podman, and I'm happy to see this new release. This little nugget about non-released features makes me most excited though:

    > More features, including support for volume mounts from the host, are planned for Podman v4.1, so stay tuned for more updates.

    IIUC that's the last major missing feature in Podman that would allow Podman Desktop Companion [1] to replace Docker Desktop on Windows/Mac for most use cases - if it works well. It'd be great to replace that nagging-for-updates and nagging-for-subscriptions with a completely open source replacement tool. (I'm sympathetic to the Docker team in need of a revenue source, but I'm happy OCI containers can move on beyond significant vendor lock-in).

    [1]: https://iongion.github.io/podman-desktop-companion/

  • selfhost

    Selfhost your Forem Community on your own infrastructure 🎉

  • firebuild

    Convenience of containers, security of virtual machines (by combust-labs)

  • > See, and in almost all of my use-cases, I really do. I do HPC computing, which is almost always a multi-tenant environment.

    Maybe you need firecracker with something along the lines of https://github.com/combust-labs/firebuild?

  • compose-spec

    The Compose specification

  • > No reason something like the compose syntax (or similar) couldn't be a common, shared front-end to all container solutions

    Hopefully it will, since the docker-compose spec is being formalized: https://github.com/compose-spec/compose-spec

  • libnetwork

    networking for containers

  • Thanks! It seems that netavark uses macvlan to avoid creating bridge devices. Although it can also use bridges, and it seems that Docker is adding macvlan support too: https://github.com/moby/libnetwork/blob/master/docs/macvlan....

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts