问题

平台:wsl 下的 ubuntu

使用 wsl 的 ubuntu 虚拟机,想要使用 systemctl 来查看 docker 进程的状态,但是显示我的系统没用 systemd 作为初始化系统,也就是 PID 1

解决方法

前提:是 wsl2

因为只有 WSL2 支持 systemd,但这个需要特殊配置。

检查 WSL 版本

wsl --version

需要 wsl 版本 > 0.67.6

修改或者创建 wsl.conf 文件

进入虚拟机。

sudo vim /etc/wsl.conf

添加下面内容:

[boot]
systemd=true

重启

然后在 windows powershell里面输入:

wsl --shutdown

重启一下虚拟机,然后在进入即可使用 systemctl 指令。

验证

再次输入指令:

systemctl status docker

可以看到没有报错,出现结果: