How to Replace Docker with Podman on a Mac(redhat.com) |
How to Replace Docker with Podman on a Mac(redhat.com) |
$ brew install podman
$ podman machine init
$ podman machine start
$ alias docker=podman
If you're on an M1 you may run into https://github.com/containers/podman/issues/10577 (which is WIP, and may have been resolved by https://github.com/containers/podman/pull/11451).Are you using short names to pull your images, i.e. 'requarks/wiki:latest' rather than the full path 'docker.io/requarks/wiki:latest'? (Note: official images in Docker Hub are under the 'library/' namespace, e.g. 'library/fedora')
Other networking issues, like the port publishing through the host bridging by default without needing to pass '--network' I believe are slated for the upcoming 3.3.2 patch release.
This is a known issue that also was present in the Docker for Apple Silicon public preview where they eventually fixed it by dropping built-in virtualization for qemu
I'll have to see if there's a Nix package for it tomorrow morning for work.
Also, I think we are losing here access to the Docker socket on the host (inside the virtual machine it can be emulated using docker-podman).
I tried podman; two hurdles I haven't figured out: 1/ sending the context is incredibly slow on podman, compared to Docker+Buildkit. It's definitely trying to send literally the entire context, like Docker without Buildkit does, but even more slowly… 2/ private registry auth. Haven't really tried too hard, but it's not just "a drop in replacement"; I think I need to somehow auth with podman specifically. (Part of this is our external registry is ACR, and we auth with `az`, but I think `az` is presuming Docker…)
"Fast forward a couple of months, podman-machine is now deprecated in lieu of Vagrant"
See Marcos install https://podman.io/getting-started/installation
Also there are active issues and PR related to `podman machine`.
I need this volume mounting to get development code changes into the container in a reasonable time and the alternative performance feels like running on a standard hard drive compared to nvme ssd.
For devs who still have access to an Intel Mac, I personally would still use that over an M1 for container/VM/Linux tasks. We’re only a year into the transition so that’s OK, but don’t be caught off guard if you move to an M1 and find your stuff breaking. Incidentally, this is where I find stuff like GitHub Codespaces really nice because I can offload the container bits to a different machine.
I remember HashiCorp even favoring a newer product they were trying to promote.
https://man7.org/linux/man-pages/man2/mount_setattr.2.html#N...
Thanks redhat!
for example to see the last conatainer's logs:
podman logs -l
just beautiful!
However you can create an SSH tunnel to create the socket locally to allow non-podman clients to utilize the socket over SSH with the DOCKER_HOST environment variable.
# Get URI
> podman system connection ls
# Create tunnel
> ssh -nNT -L/tmp/podman.sock:/run/user/1000/podman/podman.sock -i ~/.ssh/podman-machine-default ssh://core@localhost:[PORT]
# Export socket location
> export DOCKER_HOST='/tmp/podman.sock'
https://github.com/containers/podman/issues/11462For example, a GUI program or even docker-compose.
However I must admit that I'm having serious troubles with podman+docker-compose (rhel 8.4, podman 3.2.3) so I reverted to podman-compose (which is way lower in quality and completeness).
It’s mind boggling to me how much HN refuses to pay (only for company licensing) for the innovation that is Docker, and would rather find alternatives to the tooling around it.
> solution that isn’t the meal ticket of the company
Usually I’ve seen arguments the other way around - X will do a good job /because/ it’s their core offering.
I am perplexed by the conclusion that charging enterprise customers $5/user-month makes the product’s future less secure.
Being on a Mac is so you can avoid lengthy configurations, scripts and commands and instead have something that just works and is seamlessly integrated.
This is the opposite.
You’d probably only want to go this route to make a statement about free open source software. But at that point you may as well run Linux
There are countless closed issues in the GitHub issue tracker [1] for similar issues, but the symptoms don't seem to go away for me or many of my colleagues.
It's been a pretty awful experience on Mac for a long time, so any competition is surely welcome.
To be clear volumes are supported, what aren't are "bind mounts" which are not recommended over named volumes: https://docs.docker.com/storage/volumes/ https://docs.docker.com/storage/bind-mounts/
I'll happily pay for software but I won't support subscription-based models, ever.
Any virtualization solution could be used, with some more typing (like running the shell commands directly). It's not unique to Vagrant.
Contrast with Docker, whose business is explicitly focused on "developer tools."
OSS works best when software is needed by many different enterprises that all need it for their business but it isn’t a direct revenue generator. Because then the future is guaranteed since all of those enterprises will contribute patches and it makes financial sense for any of them to take on the maintainership.
Docker Desktop has always been a single point of failure in development terms not being OSS, but the community of users just got slashed not that there’s a price tag attached to it and by charging Docker has basically said that the future of the product now depends on it turning a profit instead of before when it only depended on Docker Inc overall turning a profit.
Red Hat’s secret sauce so to speak is the stupid amount of ongoing work it takes to actually maintain a distro, not the software itself.
So is IBM from what I've seen.
IBM + RedHat have more contributors working on OSS than Google, surprisingly.
I could understand this if they were turning the thumbscrews on individuals but all this talk of switching sounds petty and silly and will probably be false economy
Well, with respect to this post in particular, I don't think Podman is even a "real" replacement for Docker Desktop. RHAT has been pushing it for quite a while, and although they're dogfooding it with their own k8s and Linux distros it's had less uptake outside of Big Blue (the linked article, prominently featured on their web page, is already out of date - not a good look). As many rough edges as my Mac using colleagues described encountering with Docker Desktop, they will see even more if they try to use Podman, so it strikes me as a poor choice here.
Regardless, I think the value proposition of Docker Desktop is questionable. The main thing it does is manage some VM plumbing so you don't have to think about it. Is that worth... much? Even anything at all? In a past life many of us used Vagrant, and it's not like it's that hard to do this stuff yourself.
So really, Docker Desktop is competing on multiple fronts, all of which are open source or at least free. There's old school, with Vagrant/BYO VM, there's "docker alternatives" like podman, and there's the k8s-in-a-box like Rancher Desktop or Minikube (which can expose a docker socket so you can work with docker directly as well).
I'm a Linux user so I don't have a dog in this fight, but if I lived in a world where I needed "run a VM to get a docker for development" it's not obvious to me that Docker Desktop is the best choice at any price point, and the cost is just one more point against it.
When Docker started asking for money for their desktop offering, it prompted people to start wondering just how valuable that offering was, and to compare it against competing applications. Also, a lot of developers I've spoken to just don't see the point of the Docker Desktop on Mac; they just want something that sits in the background and works without bugging them to update every other week.
Podman fits the use cases people have, it's open source and has more useful features than Docker Desktop currently has.
You're correct in that this sounds petty and silly, but there's history and context to this widespread move to ditch Docker.
Docker Inc wants to monetize on the basic stuff (e.g. a dumb desktop UI)
That's why docker inc is mostly failing and has to come up with this dumb stuff whereas red hat is thriving :)