在Windows Ubuntu子系统上运行Docker Compose

3
我正在尝试运行docker-compose来执行此示例https://learn.microsoft.com/en-us/azure/aks/tutorial-kubernetes-prepare-app
我已经在我的Windows机器上设置了Ubuntu子系统以尝试这个示例。当我运行docker-compose up -d时,我会收到以下错误信息。

错误:无法设置IP表:无法启用NAT规则: (iptables失败:iptables --wait -t nat -I POSTROUTING -s 172.19.0.0/16 ! -o br-0fa5c62bc4ce -j MASQUERADE: iptables:没有那个名称的链/目标/匹配。

我作为管理员运行Ubuntu子系统,并作为root用户登录。 Linux子系统是否存在更新IP表的限制?
1个回答

3

WSL子系统运行在微软内核上,而不是Linux内核。

因此很多Linux网络命令都无法使用,其中包括iptables。

这里有一个讨论,提供了额外的信息、链接以及更新信息 - https://github.com/Microsoft/WSL/issues/767

顺便说一句,我使用这个https://github.com/RoliSoft/WSL-Distribution-Switcher

它会安装docker镜像,我还没有尝试过所有镜像,只试过Fedora。我想在类似kali linux这样的系统中可能无法运行需要内核/网络支持的应用程序,虽然我怀疑kali工具是否已经被测试过。大部分其他的docker镜像应该可以正常工作并且docker镜像可能更好地优化了WSL。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接