Python Docker Compose放弃;系统找不到指定的文件;错误

Python Docker Compose放弃;系统找不到指定的文件;错误,python,docker,docker-compose,Python,Docker,Docker Compose,我最近在Windows10机器上安装了Docker Toolbox 但是,每当我运行docker compose up时,我都会收到以下错误消息: Traceback (most recent call last): File "<string>", line 3, in <module> File "compose\cli\main.py", line 65, in main File "compose\cli\main.py", line 117, in

我最近在Windows10机器上安装了Docker Toolbox

但是,每当我运行
docker compose up
时,我都会收到以下错误消息:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose\cli\main.py", line 65, in main
  File "compose\cli\main.py", line 117, in perform_command
  File "compose\cli\main.py", line 849, in up
  File "compose\project.py", line 372, in up
  File "compose\project.py", line 539, in warn_for_swarm_mode
  File "site-packages\docker\api\daemon.py", line 33, in info
  File "site-packages\docker\utils\decorators.py", line 47, in inner
  File "site-packages\docker\client.py", line 139, in _get
  File "site-packages\requests\sessions.py", line 488, in get
  File "site-packages\requests\sessions.py", line 475, in request
  File "site-packages\requests\sessions.py", line 596, in send
  File "site-packages\requests\adapters.py", line 423, in send
  File "site-packages\requests\packages\urllib3\connectionpool.py", line 595, in urlopen
  File "site-packages\requests\packages\urllib3\connectionpool.py", line 363, in _make_request
  File "httplib.py", line 1057, in request
  File "httplib.py", line 1097, in _send_request
  File "httplib.py", line 1053, in endheaders
  File "httplib.py", line 897, in _send_output
  File "httplib.py", line 859, in send
  File "site-packages\docker\transport\npipeconn.py", line 31, in connect
  File "site-packages\docker\transport\npipesocket.py", line 22, in wrapped
  File "site-packages\docker\transport\npipesocket.py", line 49, in connect
pywintypes.error: (2, 'WaitNamedPipe', 'The system cannot find the file specified.')
docker-compose returned -1
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
main中第65行的文件“compose\cli\main.py”
文件“compose\cli\main.py”,第117行,在perform\u命令中
文件“compose\cli\main.py”,第849行,向上
文件“compose\project.py”,第372行,向上
文件“compose\project.py”,第539行,处于警告模式
文件“site packages\docker\api\daemon.py”,第33行,在info中
文件“site packages\docker\utils\decorators.py”,第47行,在内部
文件“site packages\docker\client.py”,第139行,在
get中第488行的文件“site packages\requests\sessions.py”
文件“site packages\requests\sessions.py”,第475行,在request中
文件“site packages\requests\sessions.py”,第596行,在send中
文件“site packages\requests\adapters.py”,第423行,在send中
文件“site packages\requests\packages\urllib3\connectionpool.py”,第595行,在urlopen中
文件“site packages\requests\packages\urllib3\connectionpool.py”,第363行,在请求中
请求中第1057行的文件“httplib.py”
文件“httplib.py”,第1097行,在发送请求中
文件“httplib.py”,第1053行,在endheaders中
文件“httplib.py”,第897行,在发送输出中
文件“httplib.py”,第859行,在send中
文件“site packages\docker\transport\npipeconn.py”,第31行,在connect中
文件“site packages\docker\transport\npipesocket.py”,第22行,包装
文件“site packages\docker\transport\npipesocket.py”,第49行,在connect中
pywintypes.error:(2,“WaitNamedPipe”,“系统找不到指定的文件”。)
docker返回-1

请注意,我的用户和系统环境变量中都有
C:\Python27
C:\Python27\Scripts
。我也用Python3尝试了这个方法,但仍然不起作用。

你和我可能有或者可能没有相同的问题。在上面@Haken Lid发布的链接中,问题在于PATH环境变量没有正确的Python版本

但是,对我来说,问题是我没有通过运行

eval $(docker-machine env <vmname>)
eval$(docker机器环境)

在运行
docker compose

之前,您可以通过键入以下命令来设置属性:

docker-machine env --shell cmd default
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

使用docker Quickstart终端运行
docker compose
。它会解决你的错误

Docker Quickstart Terminal主要是一个常规shell,但允许创建默认机器。它也可用于连接到其他机器:


eval$(docker machine env)

我花了将近一个小时在我的Windows机器上解决这个问题

  • 安装(3.6.1版对我来说很好),选择“添加到路径”选项
  • 安装
  • 重新启动你的机器
  • 在通知栏上,您将看到Docker的图标。右键单击它并选择设置…。转到
    共享驱动器
    并选择
    C:
    驱动器。系统将提示您输入凭据。[*]
  • 运行docker build。
  • 运行
    docker compose up

    [*]:如果不执行此步骤,则在执行步骤6时可能会看到此错误:
    错误:for website无法为服务创建容器网站:C:驱动器未共享。请在Docker for Windows设置中共享它
    。如果输入凭据后未选中C:驱动器,请为您的计算机创建一个新用户,该用户可以完全访问您将运行的文件夹
    docker compose up


  • 在Docker Quickstart终端在启动过程中“等待IP…”挂起一段时间后,我遇到了这个问题


    重新启动Docker Quickstart终端修复了所有问题。

    我在Windows10上重新安装Docker时遇到了这个问题。我的问题是,我实际上并没有首先运行Docker;我刚刚安装了.msi并从命令行运行了“docker compose”


    一旦我运行了Docker(并执行了一些安装后步骤,包括注销和重新启动我的计算机),我就能够毫无问题地运行
    Docker compose

    我只是忘记启动“Docker for Windows”,这导致了该错误。

    确保Docker for Windows已启动并在系统托盘中运行。这就是我的问题。

    自从我使用Windows 8.1以来,我一直使用Docker工具箱。经过数小时的故障排除,我通过以下方式解决了此问题:

    • 卸载Python2.7并安装Python3.6.4并将其添加到环境变量中
    • 重新启动Docker Quickstart终端并从那里运行命令

    在Docker Quickstart Terminal中,我运行了
    Docker machine env
    ,它给了我:

    export DOCKER_TLS_VERIFY="1"
    export DOCKER_HOST="tcp://192.168.99.100:2376"
    export DOCKER_CERT_PATH="C:\Users\TheGeniesis\.docker\machine\machines\default"
    export DOCKER_MACHINE_NAME="default"
    export COMPOSE_CONVERT_WINDOWS_PATHS="true"
    
    #### Run this command to configure your shell:
    eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)
    
    我运行了
    eval$(“C:\ProgramFiles\Docker Toolbox\Docker machine.exe”env)
    。就这样


    此解决方案是从复制的。我在一个Windows10的家里。这解决了我的问题。

    退出Docker并停止Docker VM为我解决了这个问题。

    我今天遇到了这个问题,下面是在Windows上为我解决的问题

  • 我进入Docker设置,点击左侧的“重置”
  • 然后我单击“重置为出厂默认值…”
  • 然后转到“共享驱动器”,为Docker启用共享驱动器(无论哪个驱动器),并单击“重置凭据”,然后插入我的凭据

  • 如果一切正常,单击“重置凭据”后,该框将保持选中状态。如果不是,重置凭据将导致复选框未选中,您必须再次将Docker重置为出厂默认值。

    在重新启动Docker Desktop后Windows上出现此问题


    解决方案是关闭我的终端窗口并打开一个新窗口。

    如果安装并激活了docker for windows,但从未登录,将导致相同的错误。

    我也遇到了同样的问题

    开始