Hi, I’ve been thinking for a few days whether I should learn Docker or Podman. I know that Podman is more FOSS and I like it more in theory, but maybe it’s better to start with docker, for which there is a lot more tutorials. On the other hand, maybe it’s better to straight up learn podman when I don’t know any of the two and not having to change habits later. What do you think? For context, I know how containers works in theory, I know some linux I think well, but I never actually used docker nor podman. In another words: If I want to eventually end up with Podman, is it easier to start with docker and then learn Podman, or start with Podman right away? Thanks in advance
As a podman user myself, they’re essentially the same. I look at the docker documentation when learning new things about podman. 99.9% of the time, it’s exactly the same. For the features that aren’t in podman, you can use the podman-docker package. This gets you a daemon so you can have some docker-specific features such as a container being able to start/stop other containers by mounting the socket as a volume, and it allows you to use docker-compose.
At the end of the day, you’re running containers and both will get the job done. Go with whatever you want to start, and be open to try the other when you inevitably end up with jobby job that uses the other one instead.
It’s easier to start with docker first simply because of the sheer amount of learning resources available on the internet. If you’re having issues, you can usually find a solution quickly with a search engine.
That’s being said, there’s not much differences on how to use them these days. You can even run docker compose on podman.
I’ve read somewhere on lemmy that the podman-compose is unmaintained and shouldn’t be used. Can’t find it now thought.
Yes because it now uses docker-compose by default: https://docs.podman.io/en/latest/markdown/podman-compose.1.html
I can’t comment on that, but actual Docker Compose (as distinct from Podman Compose) works great with Podman.
Docker is more ubiquitous, Podman has use cases that diverge from Docker.
Discover the use case and decide from there.
That said docker is a good starting point, their documentation is pretty great and once you know docker you’ll better appreciate why podman is different.
You didn’t say what’s your goal. What do you want to achieve? For instance, if you work in IT you should probably learn Docker unless Podman is more relevant in your actual daily tasks.
My goal is selfhosting stuff mainly on my raspberry pi. I’m sure I’m not going to work in IT for 3 years and probably not for at least few years after that.
They’re pretty much the same. Use docker documentation for learning, but actually use podman, because it’s nicer to use (doesn’t require root, easier to install on many Linux distributions).
Both. They’re pretty damn similar.
Doesn’t really matter for basic stuff as it will be the same.
Once you get into container orchestration the differences start and then you basically need to decide what you want to get out of it.
Still haven’t looked into podman properly, but docker is much easier to learn because as you said there’s a lot more material available online. I’d say start with Docker, and if in the future you will find out podman better fits your needs you can always switch (they should not be that different)
Podman only if you really care about using FOSS, having first-class rootless mode, and don’t mind the hassle of scarce learning resource and tutorials on all Podman features that are different from docker.
Otherwise docker.
Docker and docker-compose. Then learn podman after you have some experience, if you want to…
Or jump into kubernetes (or minikube) instead of podman if you want to do highly useful things.
But first, get comfortable building images with a Dockerfile, and then running them in a meaningful way, and networking them, and locking them down.
Yes
Docker, definitely docker
Definitely not. :P
Over podman? Podman has lots of querks.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System Git Popular version control system, primarily for code HTTP Hypertext Transfer Protocol, the Web LXC Linux Containers Plex Brand of media server package SSH Secure Shell for remote terminal access nginx Popular HTTP server
[Thread #623 for this sub, first seen 23rd Mar 2024, 07:55] [FAQ] [Full list] [Contact] [Source code]
Learn Docker first, it will be faster and easier. It will both give you an intro to containers and you’ll get some practical use for your self hosting needs.
If you’re still curious later you can go deeper into Podman and other container technology.