5 ms·
I've been exploring 2 alternatives (podman and colima) to replace my normal docker workflow, which is just building and running containers locally, sometimes wi
by oplav 5y ago
I've been exploring 2 alternatives (podman and colima) to replace my normal docker workflow, which is just building and running containers locally, sometimes with docker-compose. I started with podman but had issues with 2 main pieces of my workflow: docker-compose (or podman-compose) and shared volumes (with `run -v`). Switched over to colima and those worked out of the box for me ("brew install docker; brew install docker-compose; brew install colima; colima start; docker run ...")
- rgoomar 5y ago+1 to Colima. Works seamlessly. Made the switch not too long ago.
- salzig 5y agopodman: https://podman.io/ https://podman.io/ colima: https://github.com/abiosoft/colima https://github.com/abiosoft/colima
- sbmsr 5y agoWhat drew you to switch up your workflow? I am on a m1 macbook air and I've been using Docker + Docker Desktop without much issue, and my use-case is a little simpler than yours (only running single containers at a time). I'm genuinely curious to learn more about what these tools (Colima, podman) help enable. If I'm missing out on a performance boost, I'd definitely check them out.
- dankirberger 5y agoI suspect it was the docker licensing changes. We're largely switching to Colima at my work too. https://news.ycombinator.com/item?id=28369570 https://news.ycombinator.com/item?id=28369570
- qbasic_forever 5y agoIn case you missed it the license terms for Docker Desktop have changed and require companies with ~250 employees to start paying for it: https://www.docker.com/blog/updating-product-subscriptions/ https://www.docker.com/blog/updating-product-subscriptions/
- Macha 5y agoAnd in those larger companies, just paying for the "coffee a month" may not be an option, since they insist all licenses are company owned and it's less effort to change my docker VM wrapper than get shit past my company's purchasing department in a reasonable amount of time.
- qbasic_forever 5y agoExactly, I think this is really going to backfire for the bean counters that took over Docker. It should either be free or $100k+ agreements for extremely large companies. They're way underestimating the inertia and pain with trying to nickle-and-dime small and medium business users.
- MandieD 5y agoIt doesn’t help that the compulsory “Business” edition is burdened with the anti-feature of Docker Registry but that SSO is still “on the roadmap.” There’s no way we would have gotten the product through IT Security Management on time, much less through purchasing. Docker appears to have fallen down a bit on their market research - they forgot that their real customer for the Business subscriptions weren’t the developers at large companies, but their software purchasing processes.
- essem 5y agogotcha. i was aware, but doesn't apply to my current circumstance. is that the motivator for most, then?
- freetime2 5y agoIt was the motivator for me. But having gone through the effort to evaluate alternatives, I’m happy where I ended up (lima). It’s free and open source, and easier to install and configure via scripts than Docker Desktop. The goal for our team is to make getting new developers set up as simple as possible (ideally just a single command), but prior to now the instructions to install and configure Docker Desktop were always an asterisk in the prerequisites section.
- peter_l_downs 5y agoI switched because of licensing changes and because I find the docker desktop UI to be laggy, frequently updating with no discernible benefit to me, and superfluous -- I would rather interact with my containers via the CLI, but had to use the desktop app to start the daemon.
- didip 5y agoFor the life of me, I could not make podman working to replace Docker. I keep getting various errors. I just made the switch to colima. Thanks for mentioning it!
- peter_l_downs 5y agoI just switched to Colima and found it worked perfectly out of the box, according to the documentation. Once I had brought up a new machine with `colima start --cpu 2 --memory 8 --disk 10 --with-kubernetes`, `docker compose` worked perfectly and I could see the colima-backed kubernetes cluster available to control via `kubectl config get-contexts`.
- amarshall 5y agoPodman works with docker-compose 1.x only and needs some finagling to work. I have this wrapper script as podman-compose #!/bin/bash set -e tmpdir=$(mktemp -d) port=$(podman system connection ls | grep -Eo 'localhost:\d+' | head -1 | cut -d: -f2) [[ -n $port ]] || exit 1 ssh -fnNT -L"$tmpdir/podman.sock":/run/user/1000/podman/podman.sock -i ~/.ssh/podman-machine-default ssh://core@localhost:"$port" -o StreamLocalBindUnlink=yes export DOCKER_HOST="unix:///$tmpdir/podman.sock" docker-compose "$@" rm -r "$tmpdir"
- matsemann 5y agoAfaik podman-compose doesn't support "docker compose run" to do one-off stuff in a new container? Is there some alternative? I do it all the time now, have the entire dev flow dockerized. So I run tests, lints, fixers, migration etc all through docker compose.
- amarshall 5y agoTo be clear: this isn’t the actual podman-compose project, just a wrapper to make docker-compose work with podman-machine. That said, I just tried to do a run and it didn’t work. It’s not part of my workflow though so I haven’t encountered it before and thus haven’t really looked into it.
- MonaroVXR 5y ago> Afaik podman-compose doesn't support "docker compose run" to do one-off stuff in a new container? Is there some alternative? Minikube, no sarcasm. I'm also going to use Minikube.
- ravenstine 5y agoThis is exactly why I ditched Podman. I really wanted to use it badly, but lacking an alternative to Docker Compose or compatibility with it in 2022 is unacceptable. Yes, there is technically a way you can orchestrate containers through configuration, and I don't remember what it was called, but I found it both difficult to use and learn. It's crazy to me that people wanted to develop an alternative to Docker... without a way to just configure and network containers with YAML or JSON.