Docker HNS失败,出现错误:参数不正确

Docker HNS失败,出现错误:参数不正确,docker,docker-compose,windows-container,Docker,Docker Compose,Windows Container,我正在使用visual studio 2017制作一个docker集装箱化应用程序。 首先通过VisualStudio运行docker时,我得到一个错误:“错误:客户端版本1.22太旧” 通过将docker compose更新为2.1版解决了此错误 下面的链接包含有关此特定错误的进一步说明 解决此错误后,在构建docker now时,我得到“HNS失败,错误:参数不正确。” 从多个github讨论中,我发现这是一个windows网络错误 这个问题有解决办法吗? 我应该降级docker版本还是安

我正在使用visual studio 2017制作一个docker集装箱化应用程序。 首先通过VisualStudio运行docker时,我得到一个错误:“错误:客户端版本1.22太旧”

通过将docker compose更新为2.1版解决了此错误

下面的链接包含有关此特定错误的进一步说明

解决此错误后,在构建docker now时,我得到“HNS失败,错误:参数不正确。”

从多个github讨论中,我发现这是一个windows网络错误

这个问题有解决办法吗? 我应该降级docker版本还是安装其他版本

我正在使用windows容器。 关于运行docker版本 客户: 版本:17.06.0-ce API版本:1.30 Go版本:go1.8.3 Git提交:02c1d87 建造日期:2017年6月23日星期五21:30:30 OS/Arch:windows/amd64

服务器: 版本:17.06.0-ce API版本:1.30(最低版本1.24) Go版本:go1.8.3 Git提交:02c1d87 建造时间:2017年6月23日星期五22:19:00 OS/Arch:windows/amd64 实验性的:真的

编辑:

如果我切换到linux容器,这个问题就解决了。 但另一个问题是驱动器不共享。 共享d后:驱动器共享问题仍然存在

如何解决linux容器驱动器共享问题


我想在本地使用windows容器,以便在azure上部署此应用。

这是一个已知的限制。目前windows只支持一个NAT网络。不支持通过调用Remove Netnat删除Netnat

在powerhell中运行这个

Get NetNat | Remove NetNat

在管理模式下打开powershell(X64) 执行下面的命令

Get-NetNat 
如果它返回这样的值

然后在powershell中运行下面的命令

Remove-NetNat

要防止docker compose创建新的默认网络,可以通过在docker-compose.yml中指定现有网络来使用该网络:

networks:
    default:
        external:
            name: nat
要检查现有网络,请执行

docker network ls

尝试清理docker网络堆栈()您好,我正在使用这些命令并运行docker compose up-d nginx并返回错误:错误:需要重新创建网络“laradock_default”-选项“com.docker.network.windowshim.hnsid”已更改搜索laradock github存储库以解决类似问题。你可能会找到答案。以防万一,如果有人需要跟进这个问题