我正在使用visual studio 2017制作一个docker容器化应用程序。 当首先通过visual studio运行docker时,我收到错误“ERROR:客户端版本1.22太旧了”。
通过将docker compose更新为版本2.1
解决了此错误以下链接包含有关此特定错误的进一步说明
ERROR: client version 1.22 is too old
解决了这个错误后,On Building docker现在我得到“HNS失败并出现错误:参数不正确。”
从多个github讨论中我发现它是一个Windows网络错误。
这个问题有解决方法吗? 我应该降低docker版本的级别还是安装别的东西。
我正在使用Windows容器。 在运行docker版本 客户: 版本:17.06.0-ce API版本:1.30 转到版本:go1.8.3 Git commit:02c1d87 建造:星期五6月23日21:30:30 2017 OS / Arch:windows / amd64
服务器: 版本:17.06.0-ce API版本:1.30(最低版本1.24) 转到版本:go1.8.3 Git commit:02c1d87 建造:2017年5月23日星期五22:19:00 OS / Arch:windows / amd64 实验:真的
编辑:
如果我切换到linux容器,这个问题就解决了。 但另一个问题是驱动器不共享。 共享后d:驱动器共享问题仍然存在。
如何解决Linux容器驱动器共享问题。
我想在本地使用Windows容器,以便我可以在azure上部署此应用程序。
答案 0 :(得分:19)
这是一个已知的限制。目前windows只支持一个NAT网络。通过调用Remove-Netnat删除Netnat不受支持。
在powerhell中运行。
Get-NetNat | Remove-NetNat
答案 1 :(得分:2)
为了防止 docker-compose 创建新的默认网络,您可以通过在 docker-compose.yml 中指定来使用现有网络:
networks:
default:
external:
name: nat
要检查现有网络,请执行
docker network ls
答案 2 :(得分:0)