-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFE: Native Mac/Windows support #8452
Comments
OS X is technically impossible at present. Kernel features we need are just
not there - you can't make anything approximating a container. We're at the
mercy of Apple on adding them and for now they seem quite content to not do
that.
A native Windows port is possible but would require a massive
rearchitecture to run Libpod on non-Unix platforms. For now my temptation
is to say that WSL2 has mostly eliminated the need for such efforts on
Windows.
…On Mon, Nov 23, 2020, 09:57 Tom Sweeney ***@***.***> wrote:
It would be ideal to have native mac and windows support to further the
adoption of podman in the community. Users do not want to have a Linux VM
just to use podman on these platforms. Furthermore, users won't read the
entire README to find out that you really only support Linux and not
Mac/Windows without a Linux VM.
First posted against podman.io containers/podman.io#315
<containers/podman.io#315> by @peters95
<https://github.com/peters95>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#8452>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3AOCBUXBB3MPISCYBIID3SRJZ6FANCNFSM4T7S7OPA>
.
|
Containers==Linux, Linux==containers. When users want to run containers they are almost always talking about Linux containers. In order to run a Linux Container, you need a Linux Kernel. Thus you need a VM (Or a hidden VM line WSL2). In my opinion until the fact that Could we or the community make it easier to get Podman on a Mac or Windows box? YES. |
Some users are looking for a slightly smaller version of CodeReady Containers, but with Podman instead of OpenShift...
This would be similar to using Docker Machine or Podman Machine, instead of Minikube (which includes Kubernetes)
These are not really "native" installs of But they are integrated with the "native" hypervisor on each, and they exist as products for Linux, macOS and Windows:
|
@TomSweeneyRedHat : This should probably be a separate project (from the main podman "engine"), that would bundle the current Previously we had the Currently I am using vagrant and bash for experimentation, since it is easier than the custom OS and the custom Go binary... Another approach would be to supply a Fedora platform for Mac and Win computers, like https://multipass.run/ does for Ubuntu. |
@afbjorklund docker for mac use the same trick: it started a linux via OS' virtulization library and runs all containers inside. |
Yes, this is what is sometimes requested but it is not offered by "podman engine", but an imaginary "podman desktop". Most likely, "podman for mac" and "podman for windows" are separate projects from this "podman" (for linux) ? Currently we have "podman remote", which is only the client - and then you have to supply the Linux server yourself. |
@TomSweeneyRedHat : you should clarify this issue, if you want a way to do Linux syscalls on Windows and Macintosh operating systems like with (WSL1) Windows Subsystem for Linux or the (BSD) Linuxulator projects. Or if you you just want a slick packaging of Podman + Hypervisor + Image, the way that Docker Desktop is doing it with their remote client and their bundled LinuxKit VM... Currently you also get all the fun of doing one version for x86, and one version for ARM to support the new "M1" CPU Macs. |
A friendly reminder that this issue had no activity for 30 days. |
@baude is going to start a small project to investigate how we can do better with this, at least on MACs. |
Hi, there are windows container images. I don't know how it's implemented, maybe there is a group of microsoft engineers supporting this.
|
Note that you can run both real containers (process-isolated) and virtual machine containers (hyperv-isolated): The same is true for Linux containers too, by using something like Kata containers* or runV or similar (KVM). * https://github.com/kata-containers/documentation/blob/master/design/architecture.md Theoretically there could also be Mac containers, by using something like the BSD jails. |
There is a talk at FOSDEM, about running hypervisor-isolated containers (i.e. VMs) also on macOS: https://fosdem.org/2021/schedule/event/containers_darwin_containerd/ But I don't know if anyone is working on running darwin containers on darwin, it sounds a bit niche ? It does have Hmm, apparently newer versions (10.10) also has something similar to namespaces... https://www.karltarvas.com/2020/10/25/macos-app-sandboxing-via-sandbox-exec.html |
Is there a link to this project? |
Not yet, we start after BugFix/Stabilization of Podman 3.0. Sometime next month. |
A friendly reminder that this issue had no activity for 30 days. |
Just to throw my 2 cents in, I originally hoped that WSL2 would be the solution to this on Windows, but, unfortunately, the performance is unusably slow. This is a known issue, but it's a hard problem and I don't see a solution coming any time soon. If you want to play around with podman on Windows, sure WSL2 works fine. But, if you want to use it for development, it's not really a solution, in my opinion. For true Windows support there are a few options I see:
|
To be clear, you are talking about filesystem performance when sharing files with Windows rather than process performance ? The previous Podman Machine used * https://www.qemu.org/2017/11/22/haxm-usage-windows/ Most likely is using |
Yes, @afbjorklund, I'm mostly seeing issues with filesystem performance, but there are other issues with WSL2 as well. I discussed some of the problems I ran into on this mailing list thread a while back. Maybe the situation has improved since then though. I haven't really played with it since. |
Right, using fuse-overlayfs is slow enough without trying to make it run with vfs... But if you want filesystem performance, you need to use a local volume mount. |
I just wrote on kubernetes/minikube#8003 about doing such. I'd be curious if it would make better sense to add an optional dependency on macOS podman install for vagrant and virtualbox for doing something like:
This would at least automate the VM provision process and the users can even bring their own base image to match their cloud configuration one day. |
Both vagrant-machine and podman-machine are deprecated, in favor of using the new There is of course nothing stopping you to use Vagrant and Virtualbox, but it is not an integrated "Podman Machine" either. I don't think there is any blog entry for this new QEMU offering, but maybe there will be - once it has been released (3.2.0) ? $ podman --version
podman version 3.2.0-rc3
$ podman machine --help
Manage a virtual machine
Description:
Manage a virtual machine. Virtual machines are used to run Podman.
Usage:
podman machine [command]
Available Commands:
init Initialize a virtual machine
list List machines
rm Remove an existing machine
ssh SSH into an existing machine
start Start an existing machine
stop Stop an existing machine
@cdbattags : see https://podman.io/community/meeting/notes/2021-04-06/#podman-on-mac-preview for a demo It will install the Fedora CoreOS image from https://getfedora.org/en/coreos?stream=next, running in a QEMU VM. Then it sets up two podman system connections to this machine, one for the "core" user and one for the "root" user. |
As Anders has already said, stay tuned. Good things coming! |
Any way to get access to that recording? And this works on Podman latest or would I have to build a specific branch? |
The link is hidden at the top of the page: https://podman.io/community/meeting/notes/2021-04-06/#bluejeans-recording
As shown it is available in It should work on any qemu version, but if you want hardware support (HVF, similar to KVM on Linux) you want the latest... Hopefully there will soon be some documentation for this new version, I only have the old version at boot2podman.github.io |
A friendly reminder that this issue had no activity for 30 days. |
@baude What should we do with this issue at this point? |
technically speaking, we have something people can use ... but it does not do the port mapping yet. That will come in 3.3. I would be fine with closing or keeping open. |
If it is getting closed, having something linked that can be followed for email alerts to know when it's released would be great. |
lets keep it open until 3.3! |
nice to hear. can't wait..... |
A friendly reminder that this issue had no activity for 30 days. |
Since podman 3.3 rc2 has been cut, I am closing this issue. |
I will be replaced my 6 years old Mac then. Too many things do not work at this point. |
It would be ideal to have native mac and windows support to further the adoption of podman in the community. Users do not want to have a Linux VM just to use podman on these platforms. Furthermore, users won't read the entire README to find out that you really only support Linux and not Mac/Windows without a Linux VM.
First posted against podman.io containers/podman.io#315 by @peters95
The text was updated successfully, but these errors were encountered: