• hottari@lemmy.ml
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    Any time I always read how to accomplish something in podman-land , the action takes like 5 extra steps compared to docker, is probably an experimental feature that’s not supported and is always from a non-official source or some random blog.

    • Dandroid@dandroid.app
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      I use podman because it’s more secure. I’m willing to put in the extra effort so that all my services aren’t running as root. If it turns out a vulnerability is discovered in lemmy tomorrow that allows people to access my server through my lemmy container, the attacker will only have access to a dummy account that hosts my containers. Yes, they could stop all my containers, but they can’t delete the volumes or any other data on my server.

      • hottari@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Podman might have a “more secure” design but you can run the docker daemon as rootless. Podman itself is not immune to vulnerabilities and will not solve all your security problems.

        • Dandroid@dandroid.app
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Don’t let perfection be the enemy of good. Security is not all or nothing. Reducing the attack surface is still important.

          Can you elaborate on running docker daemon as rootless? It’s my understanding that you can add your account to a group to access the docker daemon rootless, but the containers are still running as root, as the daemon itself raises the access to root.

          • hottari@lemmy.ml
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            4
            ·
            1 year ago

            Not sure relying on podman alone as a security tool might be advisable. Podman is a container technology first, security is not the main goal.

            Read more about rootless docker here.

            • Dandroid@dandroid.app
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year ago

              I never said I was relying on it alone. Not sure why you think that.

              That’s a great link. Thank you for sharing. It’s good that docker supports this functionality now.

              • hottari@lemmy.ml
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                2
                ·
                1 year ago

                I never said I was relying on it alone. Not sure why you think that.

                …all my services aren’t running as root.

                If it turns out a vulnerability is discovered in lemmy tomorrow that allows people to access my server through my lemmy container, the attacker will only have access to a dummy account that hosts my containers.

                This was your argument according to you for why you think podman is more secure (than docker I presume). Seemed to imply rootless podman will save you from an attacker. I was simply disproving the flawed notion.

                • BlueBockser@programming.dev
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 year ago

                  I think you’re interpreting too much. Security is about layers and making it harder for attackers, and that’s exactly what using a non-root user does.

                  In that scenario, the attacker needs to find and exploit another vulnerability to gain root access, which takes time - time which the attacker might not be willing to spend and time which you can use to respond.

    • poVoq@slrpnk.net
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      If you make something with Podman yourself it is actually less work most of the time (the OP tutorial is incredibly convoluted for no reason).

      But sure, if someone else did all the work for you and you just need to download the docker-compose file and run it, that is of course less work for you. But that is just a result of Docker’s relative popularity compared to Podman.

      • hottari@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        If you make something with Podman yourself it is actually less work most of the time (the OP tutorial is incredibly convoluted for no reason).

        Doubt.

        OP’s guide is simply describing how podman is designed to work. With systemd unit files for managing services.

        But sure, if someone else did all the work for you and you just need to download the docker-compose file and run it, that is of course less work for you. But that is just a result of Docker’s relative popularity compared to Podman.

        Why re-invent the wheel?

        • anyhow2503@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Doubt.

          Cool attitude. In my experience, most docker/docker-compose setups will work transparently with podman/podman-compose. If you want to tighten security, lock down ressource access, run rootless (daemon and inside the container), integrate with SELinux, then you might need to put in extra-work, just like you would if you used docker.

          Why re-invent the wheel?

          They aren’t. Podman is mostly just a docker-compatible CLI wrapper around an existing OCI runtime (runc by default). It also lets you manage pods and export k8s yaml, which is arguably the more important industry standard at this point. Podman was also completely usable in rootless mode way before Docker support for that was on the table, which was the main reason I switched years ago. Podman development effort also yielded buildah, which is a godsend if you want to build container images in a containerized environment, without granting docker socket access (which is a security nightmare) or using some docker in docker scenario (which is just a nightmare in general).

        • poVoq@slrpnk.net
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Yes, but only 10% or so of the article is about what you actually need to know to use Quadlet and the rest is some convoluted mess that I don’t know why the author bothered with sharing that.

    • oranki@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      In my limited experience, when Podman seems more complicated than Docker, it’s because the Docker daemon runs as root and can by default do stuff Podman can’t without explicitly giving it permission to do so.

      99% of the stuff self-hosters run on regular rootful Docker can run with no issues using rootless Podman.

      Rootless Docker is an option, but my understanding is most people don’t bother with it. Whereas with Podman it’s the default.

      Docker is good, Podman is good. It’s like comparing distros, different tools for roughly the same job.

      Pods are a really powerful feature though.

      • hottari@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        1 year ago

        In my limited experience, when Podman seems more complicated than Docker, it’s because the Docker daemon runs as root and can by default do stuff Podman can’t without explicitly giving it permission to do so.

        Can’t argue with that. There’s some truth to this.

        99% of the stuff self-hosters run on regular rootful Docker can run with no issues using rootless Podman.

        If this figure was even close to being remotely true, everyone would have moved to rootless containers by now.

        Rootless Docker is an option, but my understanding is most people don’t bother with it. Whereas with Podman it’s the default.

        These two share the same set of problems. People don’t want to downgrade from a “working” docker to a rootless “safer” docker that comes with more usability headaches.

        Docker is good, Podman is good. It’s like comparing distros, different tools for roughly the same job.

        Not really. The two are really different underneath but on surface they may look like they are overlapping solutions to the untrained eye.

        Pods are a really powerful feature though.

        Last time I was giving podman a try, I didn’t find anything really special about pods. Maybe it just didn’t click for me or I was not the intended audience.

        • oranki@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 year ago

          on surface they may look like they are overlapping solutions to the untrained eye.

          You’ll need to elaborate on this, since AFAIK Podman is literally meant as a replacement for Docker. My untrained eye can’t see what your trained eye can see under the surface.

          • hottari@lemmy.ml
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 year ago

            The two are not hot-swappable solutions (as much as podman tries to act as a drop-in replacement for docker). Trying to replace one with the other after coming from extended use of either will immediately let you know of the stark differences between them.

            • oranki@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              Perhaps I misunderstand the words “overlapping” and “hot-swappable” in this case, I’m not a native english speaker. To my knowledge they’re not the same thing.

              In my opinion wanting to run an extra service as root to be able to e.g. serve a webapp on an unprivileged port is just strange. But I’ve been using Podman for quite some time. Using Docker after Podman is a real pain, I’ll give you that.

        • poVoq@slrpnk.net
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          5
          ·
          1 year ago

          You mean showing a commitment to open-source and keeping all of their software open-source (when most other “open-source” companies in similar situations switched to non-Free licenses, like Elasticsearch for example)?

  • thevoiceofra@mander.xyz
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    2
    ·
    1 year ago

    Interesting. But what If I’m not using CoreOS? Also RedHat fucked up by using YAML for configuration.

    • losttourist@kbin.social
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 year ago

      what if I’m not using CoreOS?

      Podman runs on any distro (or more strictly: any distro that uses systemd). It’s essentially a FOSS alternative to Docker.

      • lemmyvore@feddit.nl
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        2
        ·
        1 year ago

        …except I can run Docker anywhere. It’s not tied to systemd. These quadlets seem like a very systemd-specific thing. Which is great if you’re building everything around systemd but it’s a niche.

    • poVoq@slrpnk.net
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      It’s built into Podman 4.x, so you can easily install it on any distro (with Systemd).