- Install cfkit for Apple Hypervisor for VMs (not using Qemu)
brew tap cfergeau/crc
brew install vfkit- Install Podman + Podman Desktop
brew install podman podman-desktop
2a. Optional: Go through https://podman-desktop.io/docs/migrating-from-docker (ensuring docker compatibility is enabled)
- Create Podman Machine using vfkit
export CONTAINERS_MACHINE_PROVIDER=applehv
podman machine init --now- Update
containers.confso that Podman Desktop see's the Machine
$EDITOR ~/.config/containers/containers.conf
# Set machine.provider="applehv"Should look something like:
...
[machine]
provider="applehv"
...NOTE: Due to a bug in recent qemu, it segfaults. As per this issue use an older version of Fedora:
podman machine init --disk-size 60 --rootful --cpus=4 --memory=8192 --image https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/39.20240407.3.0/aarch64/fedora-coreos-39.20240407.3.0-applehv.aarch64.raw.gz- Install lima (via brew) and lima extension in Podman Desktop
- Create lima vm:
limactl start --vm-type=vz --rosetta --name=podman template://podman- Set Podman connection:
podman system connection add lima-podman "unix:///Users/yasser.saleemi/.lima/podman/sock/podman.sock"
podman system connection default lima-podman- Setup Buildkit in Podman This allows you to use Docker tooling with Podman
# Create socker symlink
ssh -F /Users/yasser.saleemi/.lima/podman/ssh.config lima-podman sudo ln -s /run/user/503/podman/podman.sock /var/run/docker.sock
# Set DOCKER_HOST to (lima) podman socket
export DOCKER_HOST=unix://$(limactl list podman --json | jq -r '.config.portForwards[0].hostSocket')
# Check that you have a build context that uses docker-container driver
docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
default* docker-container
\_ default \_ default running v0.14.1 linux/arm64, linux/riscv64, linux/ppc64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/loong64
# If you don't have a context that uses docker-container driver, then create one. Otherwise you are good to go
docker buildx create --name=container --driver=docker-container --use --bootstrap- Install lima (via brew)
- Create lima vm:
limactl start --vm-type=vz --rosetta --name=docker template://docker- Set DOCKER_HOST:
export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')- Follow step (2) here
That should be it