我在 Window 10 计算机上安装了 docker python客户端。我的机器正在运行python-3.7
版,并且它有pypiwin32
版223
。我也可以导入Docker客户端,但是当我尝试使用类from_env()
之一创建对象时,它会抛出错误:
import docker
docker.from_env()
回溯(最近通话最近):
文件 “ C:\ Users \ abhishek.jain \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ docker \ client.py”, 第74行,位于 init self._custom_adapter = NpipeAdapter(NameError: 名称'NpipeAdapter'未定义
在处理上述异常期间,发生了另一个异常:
回溯(最近一次通话最后一次):文件“”,第1行,在 docker.from_env()文件“ C:\ Users \ abhishek.jain \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ docker \ client.py”, 第27行,位于from_env中 返回Client.from_env(** kwargs)文件“ C:\ Users \ abhishek.jain \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ docker \ client.py”, 第112行,位于from_env中 返回cls(version = version,** kwargs_from_env(** kwargs))文件“ C:\ Users \ abhishek.jain \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site \ packages \ docker \ client.py”, 第79行,初始化 '安装pypiwin32软件包以启用npipe://支持'docker.errors.DockerException:安装pypiwin32软件包以启用 npipe://支持
您能否确认 docker python客户端是否具有对 Window 10 的支持能力?
答案 0 :(得分:0)
在Server 2019和Win 1809中,使用Docker API命名为管道通信的容器是introduced。
您可以使用更新的1809 Windows 10进行检查。还要注意,您必须在docker run命令中指定管道,如示例所示,将其显示为链接的博客文章。
如果无法更新计算机,则可以使用预安装的Azure Win10 VM进行。您将在Azure市场中找到它。不能100%确定是否需要MSDN订阅。
顺便说一句,在最新的Docker桌面18.09.1中,进程隔离正在起作用,因此您甚至不需要(嵌套)虚拟化(Azure)或hyper-V(本地)。
答案 1 :(得分:0)
所以我遇到了同样的问题,并且我发现这是由于pypiwin32 == 224而导致的问题,如果您使用的是python 3.6或3.7。如果使用的是较低版本的python,则解决方法是安装pypiwin32 == 220。由于不支持此版本,因此此解决方法不适用于3.6和3.7版本。我建议使用支持pypiwin32 == 220的python版本。当我尝试在本地运行aws-sam时遇到了这个问题,最后我使用pip卸载了aws-sam-cli,并使用msi :(