top 50 comments

sorted by: hot top controversial new old
[–] 48 points 2 years ago

Docker. It's been around longer, it's more polished, easier to learn, simpler to use, supported everywhere and by everything, easy to find solutions when you search for help, doesn't depend on systemd, compatible with every container image out there, and you can do things with it even if it's not the "correct" way to do it while podman will tell you "no, you can't do that".

  • source
  • [–] 31 points 2 years ago (13 children)

    If your distro offers it, rootless podman + podman system service is the best setup, IMO. That will give you a docker command that is 1-to-1 compatible with docker and lets you use tools like docker-compose that expect a docker service socket. Then you can just follow tutorials that only explain things for docker.

  • source
  • hideshow 15 child comments
  • [–] 1 point 2 years ago

    My only issue with rootless is that SWAG doesn't work with it, otherwise my other containers could be rootless. However, I heard connecting rootful and rootless containers is impossible so all my containers are rootful right now.

  • source
  • parent
  • load more comments (11 replies)
    [–] 22 points 2 years ago (2 children)

    Podman, rootless containers work well, and there is no central process running everything. I like that starting containers on boot is integrated with systemd.

  • source
  • hideshow 4 child comments
  • [–] 3 points 2 years ago* (5 children)

    How do you automatically start podman containers? I currently just manually add systemd entries but that’s a lot more cumbersome than Docker which doesn’t require you to do anything at all.

  • source
  • parent
  • hideshow 10 child comments
  • [–] 6 points 2 years ago

    I use Quadlet, which is now merged in podman. The only issue I had with it is running system systemd services as other (rootless) users, I can't get it to create cid files that the users can access. In those cases only, I have to modify the generated services files, which defeats the purpose.

  • source
  • parent
  • [–] 4 points 2 years ago

    That's how you do it, you have to write systemd config files for each container. And because it was cumbersome they've come up with third party tools that write them for you and launch the container. 😉

  • source
  • parent
  • [–] 0 points 2 years ago (2 children)

    i would like to try.. but as far as i know, there is no "docker compose up -d"

  • source
  • parent
  • hideshow 4 child comments
  • [–] 4 points 2 years ago (1 child)
  • [–] 1 point 2 years ago (1 child)
  • [–] 2 points 2 years ago* (1 child)

    Check my comment history for an example of a simple bind mount compose.yaml I use for developing a small Python project. It's exactly the same as Docker Compose (since Podman Compose follows the Compose spec) but if you're just getting started, it might be a good skeleton to build on.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 17 points 2 years ago (1 child)

    Don't overthink this. Just start using something.

  • source
  • hideshow 2 child comments
  • [–] 8 points 2 years ago

    Podman, dockerd is a single point of failure

  • source
  • [–] 7 points 2 years ago (1 child)

    I'd go Docker for the maturity. Podman is nice but I've definitely had some issues, and Buildah lacks any sort of caching and does unnecessary intermediate copies of the layers when pushing to a repository that really slows things down on larger apps/images.

  • source
  • hideshow 2 child comments
  • [–] 3 points 2 years ago* (1 child)

    Buildah lacks any sort of caching

    ... what? assuming you are using a Containerfile.... what? It's.... the same as docker on layer caching. The --cache-to and --cache-from flags are particularly sweet.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 0 points 2 years ago (1 child)

    Maybe they changed it since last year, but it wouldn't cache layers for me. Everytime I'd rebuild the app, it would re-run all the actions from the Containerfile. So a whole npm install each build even though I only changed a source file. Building the exact same file with Docker cached every layer as expected, so a config change would only change the last layer and be basically instant vs 5 minutes.

    The other issue with pushing to a registry was that it made a whole temporary tar of the image, then gzip it to disk again before starting to upload it. It blew up the disk space I had allocated to my VM really fast, and made uploading those images take minutes instead of seconds. Docker again seemingly does it all in a streaming fashion as it uploads, making it much faster.

    This could have changed though, it's evolving fast. Just didn't fit my use case then. But because of those experiences, I'd say it's probably a safer bet to learn Docker first since documentation is abundant, and there's no little "oh I'm using Podman and have to use a slightly different syntax" gotchas to run into to make it hard for you.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 7 points 2 years ago

    definitely docker. it just has so much more documentation and community involvement.

  • source
  • On what host system?

  • source
  • [–] 4 points 2 years ago

    If you're running it for your own network, just use Docker. The tooling is way, way better for docker, especially for a beginner.

  • source
  • [–] 4 points 2 years ago
    [–] 3 points 2 years ago

    Docker because it just works. Podman has another 5 years (hopefully) to get this part right IMO.

  • source
  • [–] 3 points 2 years ago

    Docker if you are unsure how to begin. You can use docker compose with configs you find on the internet.

    If your interested in podman I would start by using it though distrobox. Distrobox is a tool that allows other Linux environments on your host system and is really good for development

  • source
  • [–] 3 points 2 years ago

    I do a lot of docker/k8s at work, and I use podman at home. Podman is very cool in theory but still rough around the edges. I recommend docker if you just want to get started, Podman is a little extra work.

  • source
  • [–] 2 points 2 years ago

    A year or two ago (whenever docker changed the business license of docker for Mac) I changed to podman and aliased docker=podman. It behaves the same, you would just about never know rootful podman vs docker.

    Rootless podman is super cool and a much better security ideal - but comparing more apples to apples would be podman running as root vs docker.

  • source
  • [–] 2 points 2 years ago

    I use podman, even when I started out. But I am a tinkerer. I think for the average beginner, docker will be easier as so much out there assumes you are using Docker only, and hard codes it. Unless you wanna deal with that, use Docker.

  • source
  • [–] 2 points 2 years ago

    I started with Docker and then migrated to Podman for the integrated Cockpit dashboard support. All my docker-compose files work transparently on top of rootful Podman so the migration was relatively easy. Things get finicky when you try to go rootless though.

    I say try both. Rootful podman is gonna be closest to the Docker experience.

  • source
  • [–] 1 point 2 years ago (1 child)

    Whichever one is better supported by the containers you want to run.

  • source
  • hideshow 2 child comments
  • load more comments
    view more: next ›