ubuntu - 在 windows ubuntu 子系统上运行 docker compose

标签 ubuntu docker-compose windows-subsystem-for-linux azure-container-service

我正在尝试为此示例运行 docker-compose https://learn.microsoft.com/en-us/azure/aks/tutorial-kubernetes-prepare-app

我在我的 Windows 机器上设置了 Ubuntu 子系统来尝试这个例子。当我运行 docker-compose up -d 时,出现以下错误。

ERROR: Failed to Setup IP tables: Unable to enable NAT rule: (iptables failed: iptables --wait -t nat -I POSTROUTING -s 172.19.0.0/16 ! -o br-0fa5c62bc4ce -j MASQUERADE: iptables: No chain/target/match by that name.

我正在以管理员身份运行 ubuntu 子系统并以 root 用户身份登录。 更新 IP 表的 linux 子系统是否有限制?

最佳答案

WSL 子系统在 Microsoft 内核而非 Linux 内核上运行。

因此许多 Linux 网络命令不起作用,iptables 就是其中之一。

这里有关于附加信息、链接和更新信息的讨论 - https://github.com/Microsoft/WSL/issues/767

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

它将安装 docker 镜像,我还没有全部尝试过,到目前为止只是 Fedora。我会想象你期望在诸如 kali linux 之类的东西中运行的内核/网络繁重的应用程序将无法运行,尽管我怀疑 kali 工具是否已经过测试。大多数其他 docker 镜像应该可以工作,并且 docker 镜像可能针对 WSL 进行了更好的优化。

关于ubuntu - 在 windows ubuntu 子系统上运行 docker compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48072873/

相关文章:

linux - 无法使用 scp 在 ubuntu 机器之间复制文件

docker-compose 在 mongoDB 中创建复制

docker - 如何将一个撰写文件生成的容器链接到另一个撰写文件生成的容器?

Docker Compose 到 CoreOS

linux - 关闭 USB 端口的电源

Ubuntu 更新后 Apache 404 Not Found 错误

php - imagettftext 无法打开字体文件

docker - 使用 WSL + Ubuntu 20.04 LTS 时访问 Docker 容器 IP

linux - 在 Windows 10 上使用 bash 定位我的串行端口时遇到问题

webpack - Windows 10 重新安装后,Nodemon 和 webpack-dev-server 热重载在 WSL 2 下不起作用