9 ms·
Podman Desktop 1.2 Released: Compose and Kubernetes Support
- SOLAR_FIELDS 3y agoForgive my naïveté regarding Podman. On macOS, does this use the same virtualization approach that docker desktop uses?
- mmcdermott 3y agoSame basic approach in that it is a Linux VM that actually runs the containers, but it is based on qemu instead of VirtualBox.
- alphabettsy 3y agoIs Docker still using a VirtualBox based solution? I thought they were using the macOS virt framework.
- nonameiguess 3y agoI doubt they're using VirtualBox. VirtualBox didn't even run on Apple Silicon until 9 months ago, but Docker Desktop still worked, so it must have been using something else.
- cpuguy83 3y agoNo, it has never used virtual box. Originally it used hypervisor.framework. I wouldn't be surprised if they now use the virtualization framework (newer higher-level abstraction on macOS).
- tauchunfall 3y agocolima allows to chose between qemu and apple virtualization framework. I found there is not much diffence in performance between both on my intel macbook. I think it will not take long until rancher also updates to latest lima to support apple virtualization. but I haven't checked the latest release notes.
- Art9681 3y agoThat's because QEMU can do hardware acceleration in an x86 host but not in M architecture. But as far as I know, only the Apple framework can do hardware acceleration or use Rosetta 2 to make things near native speed on an M-series Mac.
- dboreham 3y agoYes.
- seaal 3y agoYes. Perhaps OrbStack[1] is what you're looking for. [1] https://orbstack.dev/ https://orbstack.dev/
- SOLAR_FIELDS 3y agoThanks I’m gonna try it out. Sucks that it’s closed source but I do so much work in containers these days that it’s worth it just for the speed
- mogwire 3y agoOrbstack also uses a virtual machine. How does it work? Why is it fast? OrbStack uses a lightweight Linux virtual machine with tightly-integrated, purpose-built services and networking written in a mix of Swift, Go, Rust, and C. See Architecture for more details.
- Art9681 3y agoIt's using Apple Virtualization Framework + Rosetta acceleration instead of third party hypervisor like QEMU. There are ways to do this via the CLI with a simple one line command if you have Xcode installed.
- bloopernova 3y agoThank you for that link! It's a very interesting product, it does use a VM, but seems to have some "special sauce" code to improve the speed of things. It also says it shares the kernel among multiple VMs. Very cool stuff.
- Art9681 3y agoIts using this: https://developer.apple.com/documentation/virtualization https://developer.apple.com/documentation/virtualization
- bloopernova 3y agoInteresting, I thought Docker Desktop was doing that too. When I have time (HA!) I will try to compare podman/orb/docker a bit more.
- mfer 3y agoTo run Linux containers you will always need Linux somewhere. On macOS this would be in a VM that's usually managed by the tooling. Docker Desktop, Rancher Desktop, lima, and others all do this. On Windows you have the Windows Subsystem for Linux v2 that uses a VM. For simplicity, the tooling often tries to make this simple and transparent to use.
- pid-1 3y agoFun fact: in Linux, Docker Desktop also uses a managed VM. https://docs.docker.com/desktop/faqs/linuxfaqs/#why-does-docker-desktop-for-linux-run-a-vm https://docs.docker.com/desktop/faqs/linuxfaqs/#why-does-doc...
- deleted 3y ago[deleted]
- v3ss0n 3y agoYeah that's the worst thing docker did
- deleted 3y ago[deleted]
- Art9681 3y agoIf its hardware accelerated the performance difference would likely not matter. And you're not going to deploy a high performance container on a desktop environment since edit:[the desktop] will consume a much greater deal of resources from your host than the VM ever will. For deploying a development environment or self-hosted services it's fine.
- v3ss0n 3y agoIt sure does. It crippled my intern gaming laptop just later found out that she is using docker desktop instead of docker.io in Linux.after reinstalling that , there's no visible performance problems running containers
- jadbox 3y agoI'm very happy to see you better support for docker compose. I think about 50% of the time I find Kubernetes used in production/development when it could have just used Compose along with a simple Terraform or Pulumi deploy script.
- Already__Taken 3y agoah the 1% of the time you do want to use something in kubernetes and you have a pile of compose is pretty demoralising though
- cpitman 3y agoI haven't run into the need to do that, but there is the Kompose project that exists to help with the conversion (https://kompose.io/ https://kompose.io/)!
- nonameiguess 3y agoI guess they stopped doing this and now consider the product mature from looking at their website, but Docker Compose used to tell you that it wasn't suitable or intended for production use. That seemed like a pretty good reason not to do it.
- geerlingguy 3y agoCompose has its own footguns, but I've run a number of services with just Compose on a VM or direct on bare metal and the few little issues I've had were easy to debug and fix. Very much unlike Kubernetes, where even a small deployment can sometimes be maddening to debug. Great for larger deployments where complexity is basically guaranteed, but anything that could run on one server with a hot spare is a great fit for Compose!
- erulabs 3y agoSurprised to hear you think debugging in kubernetes is maddening. It’s absolutely very different, but if I had to debug a system I knew nothing about, I’d rather debug a kubernetes based system rather than any other. Standards and all that. Anyways - for a single container or two obviously you’re right - I’m just not sure that’s so common outside of a side project anymore.
- joaoqalves 3y agoWhat's missing to fully replace Docker Desktop?
- jchw 3y agoNothing for me: I use it as a Docker Desktop replacement at the moment. There aren't so many complex docker-compose setups I have to deal with, but everything works about as expected. (Although honestly most of the time I'm using Podman it's on native Linux, so I don't use 99% of the stuff that's there anyway.)
- mfer 3y agoThat depends on what you need. For most people and use cases you can replace it with something like Rancher Desktop [1]. But, there are use cases and situations where you needed Docker Desktop. Disclaimer, I started Rancher Desktop. [1] https://rancherdesktop.io/ https://rancherdesktop.io/
- ducharmdev 3y agoI switched from podman to Rancher Desktop at work recently, and it's been a very smooth experience - thank you for your work!
- pid-1 3y agoI've been using Podman Desktop in Win11 for local development for about 6 months and I'd say nothing.
- foobarbecue 3y agoNothing good? Nothing bad? I mean... if you're going to say nothing at all, no need to announce it...
- gnulinux 3y agoAs in nothing is missing to replace Docker Desktop.
- deleted 3y ago[deleted]
- 0xbadcafebee 3y agoWhy does Compose still only work on one server? I am perpetually perplexed that nobody has patched Compose to manage k8s resources, have its own multi-node support, or push Swarm more. How has nobody fixed this? The tool is 9 years old.
- tecleandor 3y agoWell there are two things: Compose, "the binary" [1]. It used to be "just" a Python helper script that called Docker, used to deploy multiple containers in a common network easily. It was rewrited in Go, and now it's kind of a plugin for Docker. I think it's strongly tied to Docker primitives, and wouldn't be that easy to modify it to work on different container orchestrators. But there's also Compose "the file format" [2]. There are tools, like Kompose[3], that understand the Compose format, and can use it to deploy in Kubernetes. 1: https://github.com/docker/compose 2: https://compose-spec.io/ 3: https://kompose.io/
- nickstinemates 3y agoAt that point you basically have a kube yaml. So might as well use that since it knows about kube things.
- deleted 3y ago[deleted]
- throwaway106382 3y agoIs there a way to make Podman Desktop use the default system connection rather than the default podman machine? When I do `podman ps` my client connects to my development VM that is not managed by podman, but I can't seem to find a way to make Podman Desktop do that.
- freeplay 3y agopodman system connection That command will let you manage what instance the podman cli is connecting to https://docs.podman.io/en/latest/markdown/podman-system-connection.1.html https://docs.podman.io/en/latest/markdown/podman-system-conn...
- throwaway106382 3y agoyeah, I've been using this for a while now but Podman Desktop doesn't seem to care about the setting and wants to make it's own VM on my machine
- chenster 3y agoDo people still use Vagrant? Last time I tried Docker on Mac, it was painfully slow. So I kept using Vagrant, which used more disc space, but very fast, and the Intel Macbook pro fan never kicked in once like Docker did.
- foobarbecue 3y agoI don't think speed is a matter of your container engine (Docker vs Vagrant) but what virtual machine you are using. I usually use Docker without any virtualization since I'm running linux containers on linux. I'm guessing when you say Vagrant, your're probably using VMware or something. I don't know what Docker on mac might be using since I avoid using mac.
- chenster 3y agoI guess when I mentioned slow, it uses lots of resources on parent OS. Yes, it's Virtual Box I believe.
- foobarbecue 3y agoYeah, so it's Virtual Box using your resources, not Vagrant or Docker. You might want to read up a bit on how containers work -- on a unix system, assuming same cpu architechture (so you don't need a VM) and filesystem that supports overlays, containers have barely any overhead in terms of system resources. You could have a thousand containers running on your machine and be fine. VMs, on the other hand, have pretty serious overhead.
- Art9681 3y agoContainers on anything other than Linux run in a Virtual Machine. Depending on the platform, you may or may not have hardware acceleration. It's either using the software emulator (slow) or hardware acceleration. On the new M architecture, I believe Docker now supports Rosetta2 emulation via Apple's Hypervisor Framework so it is near native performance. As far as Vagrant being faster than Docker, it's possible the qemu backend it uses was hardware accelerated and for whatever reason the Docker VM wasn't? Or perhaps you were using Docker Desktop which does take up a lot of compute capacity away? Try using the docker cli without docker desktop and see if it works better for you.
- imiric 3y agoI wish Podman wouldn't be a Docker replica, but a standalone product that competes in the container ecosystem with innovative features. Initially the main advantage it had over Docker was rootless mode, but this has been available in Docker for a while now. What currently sets Podman (Desktop/Compose) apart from its Docker counterparts? I've also run into issues running some containers with Podman that work fine with Docker. I still use it for some simple use cases, but I'm wondering more why bother with a copycat product that only plays catch-up to Docker, and has its own set of issues. And, incidentally, is run by Red Hat, and by extension IBM, which are increasingly hostile to OSS.
- hu3 3y agoDocker network effect is too important to ignore. That would be like swimming against the current. For example, Deno (https://deno.land/ https://deno.land/) initially launched with precarious compatiliblity with Node.js, but eventually had to make compromises and adapt so Node.js projects could migrate easier.
- imiric 3y agoAll of that can be accomplished by being compatible with the broader OCI ecosystem. But Red Hat explicitly tries to be a Docker replacement (they suggest `alias docker=podman`, which actually breaks in many ways), to the point where I'm not sure why I should bother using a product that will always play catch-up to the real thing. This Desktop and Compose announcement is part of that roadmap, and I'm just wondering what Podman does better than Docker at this point.
- LeFantome 3y agoDo you do embedded? Look at the size of crun vs runc and at the portability of Go vs C. Do you like having to have a daemon running? I don’t. Also, the “pod” in the name may yield a few hints. Finally, despite all the recent and undeserved hate, I know that Red Hat will keep their source open. I have no such faith in Docker. Have you priced out Docker Desktop and Podman Desktop lately?
- 3y ago
- andix 3y agoIs it usable on windows now? I constantly had issues previously both with Podman desktop and also rancher desktop. Docker socket not reachable, something stuck, and needed to reset the installation constantly. Docker desktop works quote stable.
- tempodox 3y agoJust happened on macOS, with this new release: > Podman Desktop quit unexpectedly. I was about to ask whether it works on macOS yet. I guess I've got my answer.
- nightowl_games 3y agoTo all the people pointing out that docker compose doesn't scale, I use docker compose locally in a vs code dev container and then k8s on production. Running k8s locally seems too complex, maybe it's not so bad but I'm happy with using docker compose dev container for development
- ducharmdev 3y agoTo me, docker compose is simply a more readable way of running docker commands; anything you can do with the docker cli, you can run as a docker compose file. Just like how a shell script is easier to manage than stringing lots of commands in the terminal, defining services in yaml is easier to manage than adding a million flags to your docker commands. Of course at a certain point you may need further abstractions, but I agree with you that these should only be used if they're actually needed.
- thiht 3y agoI have no idea why anyone would want to run K8s locally. The concept makes absolutely no sense to me. If you want to run a container, just run the container? K8s is here for scaling, not for running stuff in local.
- vbezhenar 3y agoWhat if you need to run 20 services simultaneously? You would either need to maintain two sets of configuration for kubernetes and compose or use just one kubernetes configuration both for production/staging and local development.
- ducharmdev 3y agoAt work I was initially using podman on an M1 MacBook, but switched to Rancher Desktop + dockerd a couple months ago after having too many issues with podman. Many in my org are also moving away from podman for similar reasons. I could never get bind mounts working consistently, relying instead on volumes, which are more awkward/less explicit when persisting local DBs used when testing. I've had zero problems with Rancher Desktop + dockerd - definitely recommend it for M1 users that are having issues with podman.
- kbenson 3y ago> I could never get bind mounts working consistently What type of problems were you seeing? Was it with podman or through podman desktop, and possibly some issue with what it was attempting? bind mounts are a pretty standard kernel feature, so I'm wondering how podman/podman desktop could have been screwing it up, unless it was some user level permissions thing.
- ducharmdev 3y agoI wish I remembered the exact error; it was just with podman though. Podman desktop being newer, I hadn't really tried it out much. FWIW, it could simply be chalked up to M1 weirdness. We have an ongoing list of various workarounds for the M1, whereas those using Intel MacBooks seem to be mostly fine.
- hackandthink 3y agoI'm not happy with Podman Desktop's Svelte GUI. Antd or MUI (React) feel much more mature. But they are working on it. https://github.com/containers/podman-desktop/pull/2863 https://github.com/containers/podman-desktop/pull/2863