Depending on what you're using it for. For companies it feels like the tide is shifting toward using k8s and not caring what actually runs your containers.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
That's for production, in dev Docker (or podman) is very much used.
That's been the case for years now. No sane company runs production workloads on Docker or Docker compose. There's niche solutions like Hashicorps Nomad or Docker Swarm, but most will probably either use a Hyperscalers container offering and/or use Kubernetes.
They do, and then they write blog posts about how the complexity is killing their teams productivity.
I use podman for almost everything. Especially since it's working rootless. BUT I am also clearly swimming against the tide there. Everyone else in the company uses docker and I typically can't just take their docker-compose setups 1:1 over to podman. First, because they often rely on having root and second, because they use docker specific hacks (like some internal hostname you can use to access the host from within docker). Since I am not a fan of docker-compose anyway, I don't care that much ... I would have built my own setup with docker as well.
On my server I have a lot less trouble with podman than I had with docker. I run quite a lot of services there, and the docker proxy (and sometime the daemon) always started to act up after a while, causing individual containers to no longer properly receive traffic and me no long being able to control them. With podman all of that just works. And I have systemd managing the container lifetimes instead of some blackbox.
Why do you dislike compose?
I want full control over which containers launch when. I also typically have a different requirement in which network a container runs and I want to re-use existing databases instead of spinning up a new one for each service. I want specific container names. And so on.
In short: I want full control and customization.
You can tell which service depends on which in compose, you can create, specify and set networks and add containers to them, you can keep a central database and just add the network of it to your new services, and you can also specify a container name.
As I see it (and for my compose usage), everything you mentioned works in compose.
Besides, what is your alternative? Do you just use the docker cli? I personally found that to be way less flexible than compose.
You can tell which service depends on which in compose, you can create, specify and set networks and add containers to them, you can keep a central database and just add the network of it to your new services, and you can also specify a container name.
The point is, if I get a compose file, all of that is already wired up with expectations of the maintainer. When I start heavily modifying it, I end up with an unmaintainable mess. So I rather look into what the service(s) actually require and build it for my use case.
Besides, what is your alternative?
The CLI, yes. And for my own server Ansible. But the semantics of the ansible module are identical to the CLI. Knowing the CLI by heart gets me much further than knowing docker-compose by heart. (Actually, I would have to look into the manual for docker-compose all the time, while I can simply do podman --help
to see what parameters it needs, if I forgot something.)
I have to admit I like the concept of rootless containers very much.
You can do that with docker too, not that it's flawless of course, networking is just awful. Same thing on Podman.
If you are begining in Docker/Podman, you can try take some course from red hat like DO188, if you don't want fork money, Red Hat with Dan Walsh offer free books https://developers.redhat.com/e-books/podman-action
It will be beneficial for us, developer, and Dan Walsh, Brent Baude, are mostly replying in #podman libera.chat. Well you can ask here tho, I think it's okay.
I just hope /r/podman in reddit moved here, and being federated...
You need less time to learn/read-doc podman than posting the question + waiting for answers. Its a basic tool, when you need it -> read doc