18 ms·
Podman Desktop: A Free OSS Alternative to Docker Desktop
- syntaxing 4y agoEchoing others, is there a benefit running this over Docker? I recently setup portainer and Docker on my homelab and had everything running in about 30 min. Is there a benefit to migrate to podman?
- jalons 4y agoLicensing.
- mindwok 4y agoThe main benefits touted are that Podman can run rootless containers and it doesn’t need a daemon compared to Docker. However those comparisons are less relevant now than they were a while ago because Docker can now run rootless containers and Podman has developed a heap of systemd hooks that effectively use that as the daemon. It does have some good features though, like being compatible with Kubernetes manifests. If you’re happy with portainer and Docker I wouldn’t bother migrating.
- syntaxing 4y agoIs there a portainer equivalent for podman (web based instead of a desktop app)?
- gbraad 4y agoYou can use the podman module that is part of cockpit-project. It runs on different versions of linux and you can also expose this from a remote machine or VM. It has a different aim, more of an admin view. I do use it regularly and would gladly take questions for the team. At some point we integrated this as a temporary solution for CRC to provide a container management view. https://cockpit-project.org/ https://cockpit-project.org/ As an example https://www.tutorialworks.com/podman-monitoring-cockpit-fedora/ https://www.tutorialworks.com/podman-monitoring-cockpit-fedo... If you have suggestions to improve just let me know. I work closely with that team. And they gladly take feature requests or comments
- onlycoffee 4y ago> Podman has developed a heap of systemd hooks that effectively use that as the daemon. Does that mean Podman is not technically ... rootless?
- mindwok 4y agoIt can still be rootless by using systemd —-user which allows non privileged users to create units and such.
- yoro46 4y agoConvenient timing! I installed podman last night and was playing with it. So far it feels just like Docker. Too bad it'll take much more time before I get to seriously recommend this at work... But that doesn't mean I can't use it for my personal projects :)
- candiddevmike 4y agoThe problem with podman at the moment (IMO) is version drift. RHEL/Fedora and friends get the latest and greatest (4), Debian/Ubuntu are stuck on 3.x. This isn't a problem with Docker, which has tight control over what is deployed. This means how you use Podman directly or indirectly via tools and plugins may change.
- florentbenoit 4y agoIt might be possible to use a Podman machine on Linux as well. ( You may loose performance but could update as soon it's available) Or use https://software.opensuse.org/package/podman https://software.opensuse.org/package/podman
- tkhattra 4y agoa workaround to get the latest and greatest podman on debian/ubuntu is to use opensuse's kubic repo - it's even mentioned on the podman installation page [0]. but they don't recommend it for production use (though i haven't noticed any issues so far on ubuntu 22.04 and 22.10). [0] https://podman.io/getting-started/installation https://podman.io/getting-started/installation
- gbraad 4y agoLatest and greatest we publish on https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/ https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podma... Will check if we need to change the docs. But your recommendation remains. Better to use the latest release as indicated on the GitHub releases of podman. These have seen more tests and integration use/tests Alternatively you can run `podman machine` which sets up a VM with the stable version.
- mbreese 4y ago> This isn't a problem with Docker, which has tight control over what is deployed. That contention is heavily dependent upon how Docker was installed. Docker desktop, yes. Command line Docker on Linux? That used to be much more complicated and depended on if you had an OS vendor provided version or had a Docker provided repo install. RHEL’s repo version always seemed particularly out of date to me.
- LooerCell 4y agoRecently I started using colima[0], a drop in replacement for Docker Desktop on Mac, and have seen an increase in performance and battery life. You can use all the normal docker and docker compose commands. It does not have a GUI but you can use the Docker extension on VS Code to have an overview of running containers. [0]https://github.com/abiosoft/colima https://github.com/abiosoft/colima
- ArcMex 4y agoSorry but off topic. At what point did containerization begin to make sense for your workflow?
- afhammad 4y agoNot OP, but if it's helpful, I use containers for all 3rd party services I need to run for development. (e.g. Postgres, Redis, Localstack, etc). This makes it easy to onboard new developers as they just have to run `docker-compose up` and not worry about those. It also allows me to easily use different versions of those services in different projects or even branches of a project.
- throwawaaarrgh 4y agoBest part: it's QEMU so you can choose your CPU architecture and run x86_64 containers on ARM Macs
- dilyevsky 4y agoThat works via qemu userspace emulation inside of VM so docker desktop has it too (might need to install qemu binfmt_misc hooks package)
- Hasnep 4y agoI've been telling my colleagues with M1 Macs to use the --platform linux/arm64 argument with Docker Desktop and that seems to be working for them.
- Art9681 4y ago
- cybervegan 4y agoPity it's only available as a tarball or .flatpak. I've never got flatpak to work before, and it doesn't work this time either. :-(
- florentbenoit 4y agoWhat file format would you expect?
- odiroot 4y agoAppImage could work, also making it portable.
- deathanatos 4y agoAnd on Homebrew, and packaged for Arch and Gentoo, and other comments seem to indicate that there are outdated .debs for Ubuntu/Debian, and not-outdated ones if you are okay with a third-party repo (which isn't that big of a stretch…?) That seems pretty well packaged, honestly.
- gbraad 4y agoWhat issue are you having with the flatpak? Perhaps it is best to file an issue here https://github.com/containers/podman-desktop/issues/new/choose https://github.com/containers/podman-desktop/issues/new/choo.... As some details like your distro, versions, etc might help to resolve this. Since you mention, is the tarball not an option? This is supposed to be portable. What would you prefer?
- tkiolp4 4y agoI’m using (as individual, so for free) Docker Desktop on my M1 Apple silicon. It works great. Could someone tell me the benefits of switching to Podman? I like that Podman is open source, though. Edit: I’m using it for free.
- pgoggijr 4y agoBiggest benefit is that it's open source and free - for business use Docker Desktop is a paid service
- andrewmutz 4y agoDocker started charging for business users, so most people are just switching to the free alternatives
- injinj 4y agoCan I use this to manage sudo containers? It's slightly amusing to see the desktop creates a podman daemon, so maybe you could create a sudo podman daemon for use with the desktop somehow?
- tkiolp4 4y agoTalking about containers: is there an easy way to run “system” containers? This is, containers that run systemd and everything else you would expect to be running on a normal Linux OS. I rely heavily on VMs to simulate cloud environments, but I would love to use lightweight containers instead. Also, these “system” containers should be able to run containers inside them as well (docker in docker?). I saw something on github the other day that may work (can’t remember the name, something about “box”), but it wasn’t available for Macos.
- rb12345 4y agoLXC/LXD are probably the closest to that on Linux, although I'm not sure about nesting containers.
- CoolCold 4y agoIt works. Used it just 1 hour ago last time. lxc launch ubuntu:22.04 docktest -c security.nest More on https://bobcares.com/blog/lxd-and-docker-containers-nesting/ https://bobcares.com/blog/lxd-and-docker-containers-nesting/
- MikeKusold 4y agoProxmox allows you to launch LXC containers via a UI. I use it at home and I'm able to run Docker in both a privileged LXC and an unprivileged LXC.
- dinosaurdynasty 4y agosystemd-nspawn, LXC, and podman should all be able to do that (though doing recursive containers can be kind of weird). In theory https://github.com/firecracker-microvm/firecracker https://github.com/firecracker-microvm/firecracker should as well, it runs very lightweight VMs.
- rmolina 4y agoYou are probably referring to Sysbox (https://github.com/nestybox/sysbox https://github.com/nestybox/sysbox), which I believe will meet your requirements (systemd, inner containers, security, etc). Btw, Sysbox is already supported in Docker-Desktop (business tier only), so you can easily do what you want with this instruction: $ docker run -it --rm -e SYSBOX_SYSCONT_MODE=TRUE ghcr.io/nestybox/ubuntu-focal-systemd-docker:latest bash Disclaimer: I'm Sysbox's co-creator and currently working for Docker.
- 404mm 4y agoSort of off-topic. I noticed they publish Universal, intel and arm builds for MacOS. I’m struggling to understand why would they build all three? Why not do either universal or split arch?
- florentbenoit 4y agoIt's just to download smaller files. For example if you're using homebrew it will download the right specific file. And universal is there so that people don't bother to know which arch is their computer.
- parhamn 4y ago
- KyeRussell 4y agoThat is absurd. These “ripoffs” are entirely enabled by the licensing/donating of the technologies that underpin Docker, let alone Docker Desktop.
- cercatrova 4y agoUsing open source as intended is literally the opposite of a "rip-off."
- daxelrod 4y agoWhat precisely did the creators of Podman Desktop do that was unethical? I'm not sure if by "ripoff" you mean "copyright infringement" or something else.
- twblalock 4y agoIf Docker didn't want this to happen, they should not have given everything away for free and then started charging money for it years later. Also keep in mind that Linux containers are based on open source kernel technology and Docker was just a friendly layer on top. Anyone else has always been free to build their own friendly layer on top. All that's changed is that those alternatives are now more compelling.
- moondev 4y agoI have been experimenting with the arm64 windows dev kit, neither docker desktop, podman desktop or rancher desktop had arm64 builds. Installing the amd64 builds did not work either. I was surprised to find out wsl2 now supports systemd https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/ https://devblogs.microsoft.com/commandline/systemd-support-i... I was able to install docker normally inside wsl2 and it worked perfectly. No "desktop" app needed. This will be a game changer when it hits GA
- florentbenoit 4y agoPodman Desktop will release Windows arm64 binaries if there is a demand for it
- gbraad 4y agoI work on the Windows enablement team of podman machine andam glad to take question or feature requests. We are looking into enabling systemd, though as said, this isn't GA yet. The functionality would only work for Win11, so we have to enable a win10 workaround for this (we have), but this has to be based on feature detection. Arm binaries is being looked at, but can't commit to a timeframe when this will be delivered.
- gbraad 4y agoNote: the Arm binary I suggest is an rnd to end solution with the WSL2 environment and client binaries. If you dont mind some tinkering, a fedora Aarch64 container base image can be imported to wsl2 to install podman.
- dboreham 4y agoI've been using this approach for some time on my Pro X. I wrote a script to start the docker daemon on first shell startup prior to systemd support.
- seabrookmx 4y agoThanks for this! I was curious if the windows dev kit would be a good arm64 container build box, but I wasn't sure if getting Docker or buildah etc. on there would be a pain. Sounds like this is totally doable.
- user432678 4y agoSeems cool and I like seeing more alternatives to Docker Desktop. However, another electron app makes sad a little.
- florentbenoit 4y agoThe tray app is optional so you can still have the engine (podman machine on Windows/macOS) running without any UI.
- jscheel 4y agoI'd just love to know if Docker is ever going to fix the issue where my computer kernel panics when going into hibernation if my macbook is unplugged and docker is running. Had an open, reproducible issue for a quite while that has affected lots of other folks too, but no real recognition from Docker.
- jamesvnz 4y agohuh, so that's what's happening to me. I was wondering what the likely cause of the kernel panic issue might be. This might be the impetus I needed to try one of these Mac docker alternatives.
- onlycoffee 4y agoGoogle Mac hibernate issues. Over 1 million results. Windows, over 3 million. I gave up on hibernation being a valid concept in the 1990's, there's too many things that can go wrong and computers are more complex today.I don't use hibernation and Docker has no issues.
- jscheel 4y agoI mean, I've never had any other issue with it. This is clearly a docker problem.
- onlycoffee 4y ago1 million Mac and 3 million Windows users most of whom probably don't know what docker is let alone run it; would like to disagree.
- jscheel 4y agoYou are being weirdly antagonistic about this. Do you work for Docker? Random search result counts (not unique users btw) have nothing to do with a reproducible bug in Docker. Why are you so caught up on this? You are welcome to go to the issue queue in GitHub to read the steps to reproduce for yourself if you want.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- majka72 4y agoI wonder what virtualization they are using on mac.
- gbraad 4y agoAt the moment Qemu using podman machine as that allowed for faster iteration. I work on some of this enablement as part of the CRC team. We have a fully working driver for the virtualization framework, with virtiofs support. We would to integrate this, though at the moment essential EFI support is only available in macOS 13. You can try CRC with the podman preset (!) to test this. It would not be exactly the same as podman machine will run a different setup process instead, it does allow you to see the performance. If you need help, just ping me. Gladly will help
- na0x2c6 4y agoUnfortunately, I could not install CRC which requires 9GB memory at the least on my M1 Mac with 8GB memory...
- nimbius 4y agopodman/skopeo/buildah and systemd managed user services are an absolute game changer for dockerless rootless containers. pod and service defs are supported and can be exported to k8s when or if you ever need it and theres even a podman-compose plugin to get you moved off docker compose while yoou learn
- galleywest200 4y agoI really tried to use Podman, but I kept running into issues trying to get a rootless deployment on RHEL that used a protected port (53) and it gave me so much trouble that I uninstalled Podman and installed Docker. Maybe I can try again, but it was frustrating enough to turn me away for a while.
- BeefWellington 4y agoIf you want something as non-root to bind below 1024, there's a sysctl for it.[1] Docker bypasses this essentially because it uses root privs to set up the port forwarding rules. [1]: https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html https://www.kernel.org/doc/html/latest/networking/ip-sysctl.... -> ip_unprivileged_port_start
- sph 4y agoIt's not enough in some cases, in a multi container pod (with `podman play kube`) I still got permission issues binding to privileged ports (which were permitted by the sysctl). There was some github issue about it. In my experience, if you need to bind to < 1024 ports, just run the container as root. Also if you want finer-grained control of host-side permissions of your mounts (i.e. map host uid 1000 to container uid 99). Otherwise rootless is fine.
- BeefWellington 4y agoNote that that sysctl indicates it's namespace-specific, so it's possible it needs to be set for the application's namespace (maybe as well) via `--sysctl` on the podman command line. I did a quick test and it works ok for me to bind to low numbered ports just passing that param to podman run.
- doublepg23 4y agoRunning into edge issues and always trying to figure out if it was my container, Podman, or SELinux is making me very close to installing regular docker.
- deleted 4y ago[deleted]
- smcleod 4y agoNote: This is quite a big heavy Electron app, if you don't need truly a GUI I'd recommend Colima. https://github.com/abiosoft/colima https://github.com/abiosoft/colima
- arunc 4y agoHelp me understand, is this a replacement for docker desktop? Docker desktop provides kubernetes in a neat way. Does podman provide k8s on WSL?
- florentbenoit 4y agopodman itself allows to play some subset of kubernetes files with the kube play command if you want to just use containers (no cluster required) https://docs.podman.io/en/latest/markdown/podman-kube-play.1.html https://docs.podman.io/en/latest/markdown/podman-kube-play.1... Podman Desktop is planning also to bring a Kubernetes cluster very easily. For now you can deploy to an existing Kubernetes cluster the Pod (set of containers that Podman provides) and you can also switch your current context from the tray icon.
- ajyotirmay 4y agoUsing podman since March of 2022. The experience has been nice, and the ability to run containers under user without going root is definitely nice. Good to see it getting some recognition.
- pjmlp 4y agoAnother Electron app, no thanks. One day all of them will join XUL and MSHTML on a retirement home.
- afandian 4y agoI don’t see Multipass mentioned here. We switched from Docker desktop when the license changed and it’s been relatively smooth. The installer is friendly, there’s a vm with docker preinstalled and all we had to do was configure network bridging.
- jillesvangurp 4y agoNice to see some alternatives for docker for mac. If you want to keep it simple, simply running a vm (on your device or remotely) and let the docker client talk to it via ssh. I used qemu for this a while ago as it seems is podman. All you need to do for this is set the DOCKER_HOST variable. It gets slightly tricky with e.g. volume mounts of course. But otherwise this works fine. Including with docker-compose. The only other thing you need to do is some port forwarding from the vm; which you can do with ssh as well. Podman, Colina, and other tools are essentially just nicer versions of this with a bit more features.
- als0 4y agoThe Flatpak doesn't work for me. "No Container Engine" message. I thought Flatpaks were supposed to just work.
- overlisted 4y agoFor GNOME users: I recommend trying this frontend https://github.com/marhkb/pods https://github.com/marhkb/pods
- kodisha 4y agoHyped by those comments, I went and tried both colima and podman. My use case is the simplest of them all: A docker compose file for postgres12 with a folder attached as permanent volume. - colima couldnt do chmod, and it failed when i tried to restore database to folder. I tracked an issue on github, known stuff, issue is couple of years old. - podman made it work somehow, data restore was under way - it run out of file descriptors, again - know bug with postgres and other scenarios, tracked on github for few years. turned off, fired docker again, it works. meh :(
- jesuspiece 4y agodocker is free..?
- notThrowingAway 4y agoFor individuals and small businesses, yes https://www.docker.com/blog/updating-product-subscriptions https://www.docker.com/blog/updating-product-subscriptions
- inshadows 4y agoYet another 300 MB of utter Electron crap with as little functionality as viable.
- Yuioup 4y agoCan this be installed side-by-side with Docker Desktop (on Windows)?
- slimsag 4y agoyes; actually it's pretty cool because it shows you docker containers running on your system too and lets you manage those if you have any.
- xwowsersx 4y agoThat's what Docker Desktop does and this is an alternative to Docker Desktop... Are you saying Docker Desktop on Windows doesn't have those features?
- xeromal 4y agoI believe they're saying is that podman can be run concurrently. They're just elaborating.
- xwowsersx 4y agoGotcha, I thought I may have misunderstood. The wording made it sound "also, it's pretty cool because Podman (as opposed to DD) can do x, y, z" which didn't make sense to me. I was thinking "obviously Podman can do that if it's meant as an alternative to DD"
- phinnaeus 4y agoJust want to make sure: what they meant was Podman Desktop will show you both podman-based containers AND DD based containers.
- COGlory 4y agoNice, it's on Flatpak as well.
- magicpointer 4y agoThere's also Rancher Desktop in the same space, which includes k3s as a local K8s solution. For personal use I found it great and lighter than Docker Desktop. At work, unfortunately all options but Docker Desktop have issues with either 1) Our Cisco AnyConnect VPN, or 2) Our authenticated http proxy. Couldn't find anything else providing a container runtime + a local k8s on MacOS that works in this environment. So we just got Docker Desktop licenses.
- blibble 4y ago> For personal use I found it great and lighter than Docker Desktop. I don't know what Docker Desktop is doing but on a top end i9 with 128gb of ram it still takes 60 seconds to start and the UI takes forever to do anything it makes Teams look responsive
- PaulWaldman 4y agoAre you on Windows? I believe it is using Hyper-V and running containers in a VM. The loading time is probably how long it takes to start the VM.
- giobox 4y ago"Docker Desktop" uses a VM for container execution on all supported OSes - Windows, macOS and Linux - default installs are not running "docker" natively at your local CLI if you are using "Docker Desktop" to run docker, even on Linux. > https://www.docker.com/blog/the-magic-behind-the-scenes-of-docker-desktop/ https://www.docker.com/blog/the-magic-behind-the-scenes-of-d... > https://docs.docker.com/desktop/install/linux-install/ https://docs.docker.com/desktop/install/linux-install/ > https://docs.docker.com/desktop/faqs/linuxfaqs/#what-is-the-difference-between-docker-desktop-for-linux-and-docker-engine https://docs.docker.com/desktop/faqs/linuxfaqs/#what-is-the-... "Docker Desktop on Linux runs a Virtual Machine (VM) so creates and uses a custom docker context desktop-linux on startup." I had previously assumed it would be native on Linux, but apparently not. To be clear, this only applies when talking about "Docker Desktop" installations - not the same thing as "docker" etc etc. I also think the performance is pretty bad, and I've used it on all three OSes at one time or another. I simply never install "Docker Desktop" on Linux typically anyway - it adds so little value over a basic native local docker install there. The only thing I think "Docker Desktop" is really great at is creating FUD regarding using the alternatives or even plain ole free "docker", but that is probably its primary means of generating revenue for the company - I've seen docker desktop licences get deployed everywhere recently, regardless of the merits. So many users I encounter don't even understand the distinction now between docker/docker-desktop, or that there is one.
- irsagent 4y agoIt's nice to know that there is an alternative to Docker.
- raro11 4y agoDocker Desktop for Mac released an experimental file sharing implementation back in March[0]. It made working with Docker bearable. Does anyone know how well Podman performs on Mac? Especially file sharing. Edit: A quick Google led me back to this HackerNews comment[1]. Looks like Docker for Mac is faster. [0] https://www.docker.com/blog/speed-boost-achievement-unlocked-on-docker-desktop-4-6-for-mac https://www.docker.com/blog/speed-boost-achievement-unlocked... [1] https://news.ycombinator.com/item?id=32307595 https://news.ycombinator.com/item?id=32307595
- gbraad 4y agoAt the moment podman machine on macOS uses Qemu and their filesharing stack. Qemu allowed us to move quickly utilizing the same deployment stategy. However I work on CRC (a related project) and we have a driver based on virtualization framework using virtiofs. We hope to integrate this in `podman machine` soon as it will improve performance. Ideally we want to boot with the kernel and ramdisk provided by the image, though this isn't the case until macOS 13 (which brings EFI support). So, yes... hopefully soon. We just want to make sure we provide a stable and maintainable solution.
- anderspitman 4y agoDo you have a link to that virtiofs implementation?
- gbraad 4y agoThe virtiofs implementation we use is the native one provided by Apple according to our virtiofs spec. https://virtio-fs.gitlab.io/ https://virtio-fs.gitlab.io/ You can try running https://github.com/crc-org/crc https://github.com/crc-org/crc with the podman preset (!) to test it. It would not be exactly the same how podman machine will use it eventually, but might help to give an idea of performance or issues we can improve on. We have seen a lot of users being more than content as it also works in a vpn environment. Note that the CRC tool primarily aims at OpenShift deployment... This is a different preset (resource intensive). Only available as an installer with our tray (sorry about this). The driver we use is https://github.com/crc-org/vfkit https://github.com/crc-org/vfkit and I am sure Christophe could share a method to just run the VM with our driver. HMU by email if you prefer.
- matai_kolila 4y agoAm I just a dum dum for not getting this to drop-in replace Docker Desktop for my relatively simple projects? Has anyone else experienced the problematic practicalities of switching, or should I just spend a bit more time with it?
- AnonCoward42 4y agoFor me the main reason to use Podman over Docker is rootless containers. Another one is also that Docker is really not pleasant to install on Linux.
- nicholasjarnold 4y ago> Another one is also that Docker is really not pleasant to install on Linux. I'm curious on which Linux did you encounter issues while installing Docker? I cannot comment on the (to me somewhat pointless) Docker Desktop GUI installation on Linux, but I can confidently report that installing and using docker engine on Ubuntu, at least, is quite trivial and clearly documented[0] on the website. [0] https://docs.docker.com/engine/install/debian/ https://docs.docker.com/engine/install/debian/
- AnonCoward42 4y agoFirst of: It has been some time since I last installed Docker. It actually was on Ubuntu and a properly current version was not in the distro repositories, so I had to add a new repository and it installed plenty of extra dependencies. It's not hard, but also not really pleasant. It also seems like Docker is now able to run rootless as well, so my nitpicks are actually more minor than I originally thought. It's still not daemonless, but it would work for my use case still I think.
- cmeacham98 4y agoNot them, but my employer makes it a major PITA to add non-standard repositories on the corporate Ubuntu image because of the weird and non-standard way Apt is configured. The "docker.io" package available in the official Ubuntu repository is typically horribly out of date. Additionally, (and admittedly this isn't really Docker's fault), the default IP range for Docker's network happens to conflict with my employer's internal network, which is great fun to debug if you forget to change it.
- deleted 4y ago[deleted]