Python Docker Compose放弃;系统找不到指定的文件;错误
我最近在Windows10机器上安装了Docker Toolbox 但是,每当我运行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
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机器上解决这个问题
共享驱动器
并选择C:
驱动器。系统将提示您输入凭据。[*]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 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 Desktop后Windows上出现此问题
解决方案是关闭我的终端窗口并打开一个新窗口。如果安装并激活了docker for windows,但从未登录,将导致相同的错误。我也遇到了同样的问题 开始