Docker Python客户端对Window 10的支持

时间:2019-01-11 13:50:40

标签: python-3.x docker docker-for-windows docker-windows docker-desktop

我在 Window 10 计算机上安装了 docker python客户端。我的机器正在运行python-3.7版,并且它有pypiwin32223。我也可以导入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 的支持能力?

2 个答案:

答案 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 :(