Podman

WSL: emulando docker e docker-compose com o podman

Estou usando o AlmaLinux 9 como distro do WSL, então os comandos abaixo são para o AlmaLinux.

sudo dnf install podman podman-docker
sudo touch /etc/containers/nodocker

O docker-compose precisa ser instalado em modo standalone.

sudo curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Habilite o systemctl no WSL

/etc/wsl.conf

[boot]
systemd=true

Execute no PowerShell para reiniciar a VM do WSL

wsl --shutdown

Abra o WSL novamente e habilite o systemctl

sudo systemctl enable --now podman.socket

Pronto.

Avisos sobre cgroupv2 manager e systemd no WSL2

Para resolver isto

WARN[0000] The cgroupv2 manager is set to systemd but there is no systemd user session available
WARN[0000] For using systemd, you may need to log in using a user session
WARN[0000] Alternatively, you can enable lingering with: `loginctl enable-linger 1000` (possibly as root)
WARN[0000] Falling back to --cgroup-manager=cgroupfs

Você precisa disto

~/.config/containers/containers.conf

[engine]
events_logger = "file"
cgroup_manager = "cgroupfs"