[GH-ISSUE #381] Can I run Docker-OSX under podman? #274

Open
opened 2026-02-27 22:08:50 +03:00 by kerem · 6 comments
Owner

Originally created by @leiless on GitHub (Nov 15, 2021).
Original GitHub issue: https://github.com/sickcodes/Docker-OSX/issues/381

Hi, all. I wonder if I can run Docker-OSX inside podman?

My OS is Ubuntu 20.04 LTS(x86_64) with Podman 3.3.1

Originally created by @leiless on GitHub (Nov 15, 2021). Original GitHub issue: https://github.com/sickcodes/Docker-OSX/issues/381 Hi, all. I wonder if I can run `Docker-OSX` inside podman? My OS is Ubuntu 20.04 LTS(x86_64) with Podman 3.3.1
Author
Owner

@dmann18181 commented on GitHub (Nov 15, 2021):

I am interested in running this inside podman as well.

My OS is Fedora 35(x86_64) with podman 3.4.1

<!-- gh-comment-id:969179641 --> @dmann18181 commented on GitHub (Nov 15, 2021): I am interested in running this inside podman as well. My OS is Fedora 35(x86_64) with podman 3.4.1
Author
Owner

@sickcodes commented on GitHub (Nov 16, 2021):

I haven't used podman before but I assume yes, if it's just a Docker wrapper

<!-- gh-comment-id:969558142 --> @sickcodes commented on GitHub (Nov 16, 2021): I haven't used podman before but I assume yes, if it's just a Docker wrapper
Author
Owner

@bphd commented on GitHub (Mar 17, 2023):

I haven't used podman before but I assume yes, if it's just a Docker wrapper

It's more than a wrapper, and everybody should transit to podman, at least for security purposes, if not philosophical

<!-- gh-comment-id:1473978491 --> @bphd commented on GitHub (Mar 17, 2023): > I haven't used podman before but I assume yes, if it's just a Docker wrapper It's more than a wrapper, and everybody should transit to podman, at least for security purposes, if not philosophical
Author
Owner

@leunardo commented on GitHub (Apr 5, 2023):

I managed to make it work on podman + wsl with ubuntu 22.

Had to set podman machine to rootful, otherwise the mac does not have internet access and fails to install the OS. (Probably there is a right way to do it, but this worked for me)

On ubuntu, I ran echo $DISPLAY to find the display config used, which outputs :0. Then I replaced the -e "DISPLAY=${DISPLAY:-:0.0}" for -e "DISPLAY=:0". Using the original command was giving me lkg errors.

Final command was

podman run -it --device /dev/kvm -p 50922:10022 -v /mnt/wslg/.X11-unix:/tmp/.X11-unix -e "DISPLAY=:0" sickcodes/docker-osx:latest
<!-- gh-comment-id:1496756363 --> @leunardo commented on GitHub (Apr 5, 2023): I managed to make it work on podman + wsl with ubuntu 22. Had to set podman machine to rootful, otherwise the mac does not have internet access and fails to install the OS. (Probably there is a right way to do it, but this worked for me) On ubuntu, I ran `echo $DISPLAY` to find the display config used, which outputs `:0`. Then I replaced the `-e "DISPLAY=${DISPLAY:-:0.0}"` for `-e "DISPLAY=:0"`. Using the original command was giving me lkg errors. Final command was ``` podman run -it --device /dev/kvm -p 50922:10022 -v /mnt/wslg/.X11-unix:/tmp/.X11-unix -e "DISPLAY=:0" sickcodes/docker-osx:latest ```
Author
Owner

@bphd commented on GitHub (Apr 5, 2023):

I managed to make it work on podman + wsl with ubuntu 22.

Had to set podman machine to rootful, otherwise the mac does not have internet access and fails to install the OS. (Probably there is a right way to do it, but this worked for me)

On ubuntu, I ran echo $DISPLAY to find the display config used, which outputs :0. Then I replaced the -e "DISPLAY=${DISPLAY:-:0.0}" for -e "DISPLAY=:0". Using the original command was giving me lkg errors.

Final command was

podman run -it --device /dev/kvm -p 50922:10022 -v /mnt/wslg/.X11-unix:/tmp/.X11-unix -e "DISPLAY=:0" sickcodes/docker-osx:latest

The project should really shift to PodMan, then after if possible to rootless (by fine tuning things like internet or so)

<!-- gh-comment-id:1497125376 --> @bphd commented on GitHub (Apr 5, 2023): > I managed to make it work on podman + wsl with ubuntu 22. > > Had to set podman machine to rootful, otherwise the mac does not have internet access and fails to install the OS. (Probably there is a right way to do it, but this worked for me) > > On ubuntu, I ran `echo $DISPLAY` to find the display config used, which outputs `:0`. Then I replaced the `-e "DISPLAY=${DISPLAY:-:0.0}"` for `-e "DISPLAY=:0"`. Using the original command was giving me lkg errors. > > Final command was > > ``` > podman run -it --device /dev/kvm -p 50922:10022 -v /mnt/wslg/.X11-unix:/tmp/.X11-unix -e "DISPLAY=:0" sickcodes/docker-osx:latest > ``` The project should really shift to PodMan, then after if possible to rootless (by fine tuning things like internet or so)
Author
Owner

@audiossis commented on GitHub (Jan 7, 2026):

This is what ultimately worked for me on Arch Linux.

export XAUTHORITY=/home/<username>/.Xauthority
xhost +local:root
xhost +
sudo usermod -aG kvm <username>

podman run -it \
-device /dev/kvm \
-p 50922:10022 \
-p 22222:22 \
-p 5999:5999 \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e "DISPLAY=:1" \
-e AUDIO_DRIVER=pa,server=unix:/tmp/pulseaudio.socket \
-v "/run/user/$(id -u)/pulse/native:/tmp/pulseaudio.socket" \
-e MASTER_PLIST_URL="https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist" \
-e EXTRA="-vnc 0.0.0.0:99,password=off" \
-e SHORTNAME=tahoe \
docker.io/sickcodes/docker-osx:latest

No doubt the "-EXTRA" options aren't needed but it works for me. Vncviewer seems to work fine for the install... I haven't tested SMB filesharing or anything else at this point....

<!-- gh-comment-id:3721156781 --> @audiossis commented on GitHub (Jan 7, 2026): This is what ultimately worked for me on Arch Linux. `export XAUTHORITY=/home/<username>/.Xauthority` `xhost +local:root` `xhost +` `sudo usermod -aG kvm <username>` `podman run -it \` `-device /dev/kvm \` `-p 50922:10022 \` `-p 22222:22 \` `-p 5999:5999 \` `-v /tmp/.X11-unix:/tmp/.X11-unix \` `-e "DISPLAY=:1" \` `-e AUDIO_DRIVER=pa,server=unix:/tmp/pulseaudio.socket \` `-v "/run/user/$(id -u)/pulse/native:/tmp/pulseaudio.socket" \` `-e MASTER_PLIST_URL="https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist" \` `-e EXTRA="-vnc 0.0.0.0:99,password=off" \` `-e SHORTNAME=tahoe \` `docker.io/sickcodes/docker-osx:latest` No doubt the "-EXTRA" options aren't needed but it works for me. Vncviewer seems to work fine for the install... I haven't tested SMB filesharing or anything else at this point....
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Docker-OSX#274
No description provided.