7 ms·
It seems to me that almost no one understands the difference between the various layers of "Docker" (that is to say: Desktop, CLI, daemon, containerd, runc) and
by dmart 5y ago
It seems to me that almost no one understands the difference between the various layers of "Docker" (that is to say: Desktop, CLI, daemon, containerd, runc) and which layers tools like Podman aim to replace.
- denysvitali 5y agoTo be fair, podman has it's own "Docker Desktop" part, podman machine. But of course on Linux this doesn't make any sense.
- gizdan 5y agoFrom what I've seen in all these Podman articles, I've come to the same conclusion as you. This is how Podman fits in: Podman (and its various components) can replace everything but parts of Docker Desktop, namely the GUI that Docker Desktop, has. For everything else, it has it's own Docker compatible CLI, an optional daemon (by default it's daemonless), there is no containerd component as it communicates directly to any OCI compatible runtime. They've also implemented their own OCI compatible runtime, crun, which is supposed to be faster than runc, and more lightweight. I suppose for the average Joe/Jane this probably doesn't matter. They want to run a few commands the first time around to set up, and then do "start/stop/remove my container" and that's all they want to do.
- amarshall 5y agoDocker Desktop isn’t really about the GUI so much as the management of, and host integration with, a Linux VM for running on non-Linux OSes. Notably, there’s no Docker Desktop for Linux, only macOS and Windows.
- gizdan 5y agoYep. Podman takes cares of those things using the `podman machine` sub-command. From what I understand, currently only macOS might be working, but Windows support will be coming if it's not already there.
- studmuffin650 5y agothe only issue really left is that volume mounts don't work with podman machine as of yet. The issue has been live on github for awhile, but its finally getting traction. Likely because of the recent Docker for Desktop changes. EDIT: github link: https://github.com/containers/podman/issues/8016 https://github.com/containers/podman/issues/8016
- otterley 5y agoAFAICT podman machine relies on VirtualBox. This would be an enormous performance and resource regression on MacOS — Docker Desktop uses the much more performant and resource-conscious native hypervisor frameworks instead.
- letmeinhere 5y agoIf true, also untenable since last I checked VBox doesn't plan to support ARM hosts (including the new Mac chipset)
- SirGiggles 5y agoThis doesn't seem accurate. According to a post on the podman website: "Current implementation relies on qemu which currently has some platform dependencies." [1] I also just checked on my machine and it is indeed running on Qemu. IIRC Qemu also has support for Apple's Hypervisor.framework. [1] https://podman.io/community/meeting/notes/2021-04-06/#podman-on-mac-preview https://podman.io/community/meeting/notes/2021-04-06/#podman...
- otterley 5y agoYou are correct - thanks!
- darkwater 5y ago> Notably, there’s no Docker Desktop for Linux, only macOS and Windows. Looks like they are adding it https://twitter.com/glours/status/1438526841577357315 https://twitter.com/glours/status/1438526841577357315 I quote: "A dream coming true for a lot of #linux users, @dieuthicao announced that we’ll start working on a #Linux version of @docker Desktop"
- amarshall 5y agoWhat does Docker Desktop even really offer on Linux? k8s, I guess? There are other open-source (Docker Desktop is proprietary ofc) ways to do that. As a Linux user, far from a dream at all, really.
- jhickok 5y agoMy understanding is that Podman is working on a "GUI" since it is one of the most requested items. Taken from the interview with the founders of Podman over on the Google Kubernetes podcast: https://kubernetespodcast.com/episode/164-podman/ https://kubernetespodcast.com/episode/164-podman/ ETA: Oh hey here it is: https://github.com/heyvito/podman-macos https://github.com/heyvito/podman-macos
- gizdan 5y agoGood to know about the GUI! > ETA: Oh hey here it is: https://github.com/heyvito/podman-macos https://github.com/heyvito/podman-macos This GUI isn't an official Podman application. It's a third party. Not that it's bad or anything, it's just not official.
- jhickok 5y agoYeah true. They talk about a first party app on the podcast episode tho, I'm just not smart enough to find it.
- KronisLV 5y ago> For everything else... Except for: - Docker Compose (because podman-compose has a large amount of open issues https://github.com/containers/podman-compose/issues) - Docker Swarm (since Docker provides a lightweight orchestrator out of the box), you'd need to use something like K3s or another Kubernetes distro - anything that uses the Docker socket (/var/run/docker.sock), so you can forget about running anything like Portainer or any of the other tools out there
- slrz 5y agoNo longer true. Podman nowadays ships with an optional daemon that serves a Docker-compatible interface, so you can use docker-compose directly if that's what you want. See for example: https://www.redhat.com/sysadmin/podman-docker-compose https://www.redhat.com/sysadmin/podman-docker-compose
- KronisLV 5y agoThat does seem better! Of course, there are a few lingering issues with support, but overall the trend is good: https://github.com/containers/podman/issues?q=is%3Aissue+is%3Aopen+compose+ https://github.com/containers/podman/issues?q=is%3Aissue+is%... Of course, there's no Swarm support, as evidenced by that very article: > Caveats > One known caveat is that Podman has not and will not implement the Swarm function. Therefore, if your Docker Compose instance uses Swarm, it will not work with Podman. Feels like people will either be pigeonholed into Kubernetes for all of their deployments, or will have to migrate over to something like Hashicorp Nomad: https://www.nomadproject.io/ https://www.nomadproject.io/ Curiously, it also supports Podman as a task driver: https://www.nomadproject.io/docs/drivers/podman https://www.nomadproject.io/docs/drivers/podman
- encryptluks2 5y agoYes, but Docker won't work on Windows without having some machine-compatible integration with Hyper-V. Docker Machine was deprecated in favor of Docker Desktop: https://docs.docker.com/machine/ https://docs.docker.com/machine/ For now however, you can use minikube which provides drivers for Hyper-V and hyperkit: https://minikube.sigs.k8s.io/docs/drivers/ https://minikube.sigs.k8s.io/docs/drivers/
- imachine1980_ 5y agoworks whit wsl2, who is include in non pro versions of window, and i think the installer works out of the box (if you have the ubuntu/wsl2 installed)
- encryptluks2 5y agoI was never able to get docker to properly work with WSL2 without installing Docker Desktop and enabling the integration. WSL2 just seemed too buggy for my likes and I am a happy Arch Linux user.
- jmspring 5y agoBut on Windows/Mac there really is not a way to run Docker w/o Docker Desktop installed. And that could be a thing confusing people. Linux, yeah, I don't think there is a Desktop version for that. It's all CLI