开启后方可使用docker 以下内容来自微软官方文档 systemd 是 Linux 系统的基本构建基块套件。 它提供一个系统和服务管理器,该管理器作为 PID 1 运行并启动系统的其余部分。 Systemd 主要是一个 init 系统和服务管理器,它包括按需启动守护程序、装载和自动装载点维护、快照支持以及使用 Linux 控制组进行跟踪等功能。 若要为 WSL 2 上运行的任何其他 Linux 发行版启用 systemd(更改默认值,使其不再使用 systemv init): 1. 确保 WSL 版本为 0.67.6 或更高版本。 (若要检查,请运行 `wsl --version`。若要更新,请运行 `wsl --update` 或[从 Microsoft Store 下载最新版本](https://aka.ms/wslstorepage)。) 2. 打开 Linux 发行版的命令行并输入 `cd /` 来访问根目录,然后输入 `ls` 来列出文件。 你将看到一个名为“etc”的目录,其中包含发行版的 WSL 配置文件。 打开此文件,以便可通过输入 `nano /etc/wsl.conf`,使用 Nano 文本编辑器进行更新。 3. 在 `wsl.conf` 文件中添加以下行,你现在已打开此文件来更改用于 systemd 的 init: **Bash**复制 ``` [boot] systemd=true ``` 4. 退出 Nano 文本编辑器(Ctrl + X,选择 Y 来保存更改)。 然后,需要关闭 Linux 发行版。 可以使用 PowerShell 中的 `wsl.exe --shutdown` 命令重启所有 WSL 实例。 # Is the docker daemon running?解决 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 说明docker没有正常启动。这个原因主要是wsl2造成的。 解决方法很简单,首先输入下述命令: sudo update-alternatives --config iptables ``` There are 2 choices for the alternative iptables (providing /usr/sbin/iptables). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/sbin/iptables-nft 20 auto mode 1 /usr/sbin/iptables-legacy 10 manual mode 2 /usr/sbin/iptables-nft 20 manual mode ``` 此时输入1即可。 最后重新启动docker: ``` sudo service docker start ``` Loading... 开启后方可使用docker 以下内容来自微软官方文档 systemd 是 Linux 系统的基本构建基块套件。 它提供一个系统和服务管理器,该管理器作为 PID 1 运行并启动系统的其余部分。 Systemd 主要是一个 init 系统和服务管理器,它包括按需启动守护程序、装载和自动装载点维护、快照支持以及使用 Linux 控制组进行跟踪等功能。 若要为 WSL 2 上运行的任何其他 Linux 发行版启用 systemd(更改默认值,使其不再使用 systemv init): 1. 确保 WSL 版本为 0.67.6 或更高版本。 (若要检查,请运行 `wsl --version`。若要更新,请运行 `wsl --update` 或[从 Microsoft Store 下载最新版本](https://aka.ms/wslstorepage)。) 2. 打开 Linux 发行版的命令行并输入 `cd /` 来访问根目录,然后输入 `ls` 来列出文件。 你将看到一个名为“etc”的目录,其中包含发行版的 WSL 配置文件。 打开此文件,以便可通过输入 `nano /etc/wsl.conf`,使用 Nano 文本编辑器进行更新。 3. 在 `wsl.conf` 文件中添加以下行,你现在已打开此文件来更改用于 systemd 的 init: **Bash**复制 ``` [boot] systemd=true ``` 4. 退出 Nano 文本编辑器(Ctrl + X,选择 Y 来保存更改)。 然后,需要关闭 Linux 发行版。 可以使用 PowerShell 中的 `wsl.exe --shutdown` 命令重启所有 WSL 实例。 # Is the docker daemon running?解决 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 说明docker没有正常启动。这个原因主要是wsl2造成的。 解决方法很简单,首先输入下述命令: sudo update-alternatives --config iptables ``` There are 2 choices for the alternative iptables (providing /usr/sbin/iptables). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/sbin/iptables-nft 20 auto mode 1 /usr/sbin/iptables-legacy 10 manual mode 2 /usr/sbin/iptables-nft 20 manual mode ``` 此时输入1即可。 最后重新启动docker: ``` sudo service docker start ``` Last modification:September 5, 2024 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏