System has not been booted with systemd as init system (PID 1). Can't operate.
You ran systemctl inside an environment without systemd as PID 1 — a Docker container or older WSL.
Seen on:
Linux
Meaning
Containers run your app as PID 1, not systemd, and WSL only enables systemd when configured. Start the service directly (service nginx start, or run the binary) or enable systemd in WSL.
Common causes
- Running systemctl inside a Docker container
- WSL without systemd enabled
- chroot/rescue environments
⚡ Quick fix
- In containers, run the process directly in the foreground (CMD)
- Use service <name> start where SysV scripts exist
- On WSL, enable systemd in /etc/wsl.conf and restart WSL
Detailed fix by platform
WSL
- bash
# /etc/wsl.conf [boot] systemd=true # then in PowerShell: wsl --shutdown
Docker
CMD ["nginx", "-g", "daemon off;"]
How to diagnose
- PID 1 — ps -p 1 -o comm=
- Environment — Container, WSL or VM?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- 0x80370102 WslRegisterDistribution failed with error: 0x80370102 (virtual machine could not be started)
- ACR unauthorized Azure Container Registry: unauthorized: authentication required, visit https://aka.ms/acr/authorization (AKS ErrImagePull 401)
- CannotPullContainerError ECS task stopped: CannotPullContainerError: pull image manifest has been retried ... / ref pull has been retried
Most viewed in Linux
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026