无法连接到wsl 2上debian buster上的Docker守护程序

无法连接到wsl 2上debian buster上的Docker守护程序,docker,windows-subsystem-for-linux,debian-buster,wsl-2,Docker,Windows Subsystem For Linux,Debian Buster,Wsl 2,我正在尝试在Windows Home build 19033.1上运行的Linux WSL 2的Windows子系统上安装docker。我按照上的说明安装了wsl2,并从Windows应用商店安装了debian,即debian 10 buster。它在wsl 2上运行,如下所示: wsl-l-v 名称状态版本 *Debian Running 2 $cat/etc/os版本 PRETTY_NAME=Debian GNU/Linux 10 buster NAME=Debian GNU/Linux 版

我正在尝试在Windows Home build 19033.1上运行的Linux WSL 2的Windows子系统上安装docker。我按照上的说明安装了wsl2,并从Windows应用商店安装了debian,即debian 10 buster。它在wsl 2上运行,如下所示:

wsl-l-v 名称状态版本 *Debian Running 2

$cat/etc/os版本 PRETTY_NAME=Debian GNU/Linux 10 buster NAME=Debian GNU/Linux 版本号=10 版本=10个buster 版本\代号=buster ID=debian 主页地址=https://www.debian.org/ 支持URL=https://www.debian.org/support 错误报告URL=https://bugs.debian.org/

我按照上的说明安装docker:

sudo apt安装docker.io sudo docker run hello world docker:无法连接到位于的docker守护程序unix:///var/run/docker.sock. docker守护进程正在运行吗

查看docker是否正在运行:

sudo服务docker状态 [失败]Docker未运行。。。失败了

因此,我尝试重新启动docker守护程序:

$sudo服务docker重新启动 grep:/etc/fstab:没有这样的文件或目录 [确定]启动Docker:Docker

找到另一个说法,我可以通过发布:

sudo touch/etc/fstab

这似乎起到了作用,grep错误不再出现:

$sudo服务docker重新启动 [确定]启动Docker:Docker

但我还是遇到了同样的问题:

$sudo docker run hello world docker:无法连接到位于的docker守护程序unix:///var/run/docker.sock. docker守护进程正在运行吗

我查看了docker日志,其中充满了错误:

$ cat /var/log/docker.log | grep -i error  
time="2019-11-28T21:48:51.725383200Z" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.btrfs" error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs must be a btrfs filesystem to be used with the btrfs snapshotter"  
time="2019-11-28T21:48:51.726777600Z" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.aufs" error="modprobe aufs failed: \"modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.84-microsoft-standard/modules.dep.bin'\\nmodprobe: FATAL: Module aufs not found in directory /lib/modules/4.19.84-microsoft-standard\\n\": exit status 1"  
time="2019-11-28T21:48:51.726982500Z" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.zfs" error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter"  
time="2019-11-28T21:48:51.727010800Z" level=warning msg="could not use snapshotter aufs in metadata plugin" error="modprobe aufs failed: \"modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.84-microsoft-standard/modules.dep.bin'\\nmodprobe: FATAL: Module aufs not found in directory /lib/modules/4.19.84-microsoft-standard\\n\": exit status 1"  
time="2019-11-28T21:48:51.727022700Z" level=warning msg="could not use snapshotter zfs in metadata plugin" error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter"  
time="2019-11-28T21:48:51.727031100Z" level=warning msg="could not use snapshotter btrfs in metadata plugin" error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs must be a btrfs filesystem to be used with the btrfs snapshotter"  
time="2019-11-28T21:48:51.744791900Z" level=warning msg="Running modprobe nf_nat failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.84-microsoft-standard/modules.dep.bin'\nmodprobe: WARNING: Module nf_nat not found in directory /lib/modules/4.19.84-microsoft-standard`, error: exit status 1"  
time="2019-11-28T21:48:51.746095200Z" level=warning msg="Running modprobe xt_conntrack failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.84-microsoft-standard/modules.dep.bin'\nmodprobe: WARNING: Module xt_conntrack not found in directory /lib/modules/4.19.84-microsoft-standard`, error: exit status 1"  
time="2019-11-28T21:48:51.768996800Z" level=info msg="stopping event stream following graceful shutdown" error="<nil>" module=libcontainerd namespace=moby  
time="2019-11-28T21:48:51.769171500Z" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=plugins.moby
Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables --wait -t nat -N DOCKER: iptables v1.8.2 (nf_tables):  CHAIN_ADD failed (No such file or directory): chain PREROUTING
不幸的是,这些命令不会产生与cp命令所期望的相同的dir结构。我没有arch/x86_x64/dir。我有一个arch/x86目录,但不包含boot/bzImage:

我遵循了确切的指示,因此我只能猜测回购协议自起草以来已经发生了变化。如果有帮助,以下是arch中的目录:


仍然希望有人能澄清一下。

我也有同样的问题,因为Debian没有安装4.19.84-microsoft-standard内核的模块。不幸的是,Microsoft没有为此内核提供预构建的lib/模块,您必须使用源代码构建内核

我尝试将从Debian映像中提取的内核4.9.0-11-amd64作为.wslconfig中的自定义内核,但WSL2无法启动它。因此,没有其他办法

以下是说明:

构建内核后,运行sudo make modules_install,然后运行docker:

*docker run hello world

码头工人你好


此消息显示您的安装似乎工作正常。*

我也有同样的问题,因为Debian没有安装4.19.84-microsoft-standard内核的模块。不幸的是,Microsoft没有为此内核提供预构建的lib/模块,您必须使用源代码构建内核

我尝试将从Debian映像中提取的内核4.9.0-11-amd64作为.wslconfig中的自定义内核,但WSL2无法启动它。因此,没有其他办法

以下是说明:

构建内核后,运行sudo make modules_install,然后运行docker:

*docker run hello world

码头工人你好


此消息表明您的安装似乎工作正常。*

在此处发布,以防其他人像我刚才那样出现此问题。这似乎和我的问题一样

根据该答案,运行后:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

我可以启动docker服务。

在这里发布,以防其他人像我刚才那样出现此问题。这似乎和我的问题一样

根据该答案,运行后:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

我可以启动docker服务。

您确定要使用WSL2吗?Windows 10的完整版本号是多少?Docker守护程序需要从systemd启动。没有官方推荐的方法可以做到这一点。你接受做一些非官方的命令吗?嗨,谢谢你的回复。是的,是WSL2,我更新了帖子以反映这一点,还包括Windows10版本号。如果leftfield能正常工作,我可以尝试任何东西。你确定你在使用WSL2吗?Windows 10的完整版本号是多少?Docker守护程序需要从systemd启动。没有官方推荐的方法可以做到这一点。你接受做一些非官方的命令吗?嗨,谢谢你的回复。是的,是WSL2,我更新了帖子以反映这一点,还包括Windows10版本号。我可以尝试leftfield中的任何东西,如果它能工作的话。谢谢回复。我试过你的建议,但失败了。我相应地更新了上面的帖子。谢谢回复。我试过你的建议,但失败了。我相应地更新了上面的帖子。
jamiet@DESKTOP-GA45TGH:/mnt/c/Users/jamie/git/github/microsoft/WSL2-Linux-Kernel$ ls arch/
alpha  arm    c6x    hexagon  Kconfig  microblaze  nds32  openrisc  powerpc  s390  sparc  unicore32  xtensa
arc    arm64  h8300  ia64     m68k     mips        nios2  parisc    riscv    sh    um     x86
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy