Problem: Running Docker on ArchWSL doesn’t work by default. ArchWSL doesn’t allow systemd services.
systemctl start on ArchWSL will result in an error.Solution: genie-systemd
genie-systemd can be used to run systemd services like Docker. Note that Docker itself requires WSL2.
About genie
genie, or genie-systemd, is a workaround to run systemd services in WSL2. It can be installed by downloading the .tar.zst package from the project’s GitHub releases page.
Not running WSL2?
Here’s a guide on converting an WSL1 installation to WSL2.
Other alternatives
I’ve found that genie works the best for my case. However, there are also other ways to get Docker and systemd working:
- ArchWSL2 is a fork of ArchWSL with support for systemd.
- The ArchWSL wiki has some resources in its Known issues page.
- systemdctl-alt is an alternate fork of systemd which will work with WSL1 and WSL2.