处理连接后请求的操作。
处理连接后请求的操作。
我刚刚在Windows 10 Home上安装了最新版的Docker for Desktop Edge,并尝试使用docker build命令构建镜像。但不幸的是,对我来说没有成功,并且出现了以下错误:
CMD - docker build -t heet1996/post:0.0.1 .
连接期间发生错误: Post https://192.168.99.100:2376/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=na8ugnpn6d8gnxl3z8ppx4gap&shmsize=0&t=heet1996%2Fpost%3A0.0.1&target=&ulimits=null&version=1: dial tcp 192.168.99.100:2376: connectex: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
之前我使用的是docker toolbox,所以在安装Docker for Desktop之前,我必须删除所有与Docker相关的环境变量。在GitHub的问题中进行了很多搜索,但我仍然没有找到解决方案。
这是我在service.txt文件(C:\ ProgramData \ DockerDesktop \ service.txt)中找到的内容:
[18:27:22.232][LoggingMessageHandler][Info ] [f9b6b957]
Docker for Desktop是一个常用的容器化平台,它提供了一个图形界面来管理和运行容器。然而,在使用Docker for Desktop时,有时会遇到一些连接问题,比如出现了"error during connect: Post A connection attempt failed because the connected party did not properly"的错误。
这个错误的出现通常是由于网络连接问题造成的。为了解决这个问题,可以尝试在Docker CLI上运行命令,而不是在CMD上运行。Docker CLI是Docker的命令行界面,可以通过在终端或命令提示符中输入命令来操作Docker。
以下是通过在Docker CLI上运行命令来解决这个问题的步骤:
1. 打开终端或命令提示符。
2. 输入以下命令以启动Docker CLI:
docker
3. 在Docker CLI中,尝试运行之前在CMD中尝试运行的命令。例如,如果之前在CMD中尝试运行的命令是:
docker run -it ubuntu:latest
则在Docker CLI中运行相同的命令:
run -it ubuntu:latest
4. 观察命令的执行情况,如果没有出现"error during connect"的错误,说明问题已解决。
通过在Docker CLI上运行命令,可以绕过可能导致连接问题的CMD。这种方法可以帮助您在使用Docker for Desktop时避免出现"error during connect: Post A connection attempt failed because the connected party did not properly"的错误。
总结起来,如果在使用Docker for Desktop时遇到上述错误,可以尝试在Docker CLI上运行命令来解决问题。这样可以绕过可能导致连接问题的CMD,从而顺利运行容器。
问题原因:在卸载Docker Toolbox并安装Docker Desktop后出现了这个错误。
解决方法:
1. 卸载Docker Desktop。
2. 从用户变量中删除所有与Docker相关的环境变量。
步骤:
1. 打开“此电脑”或“我的电脑”。
2. 右键点击并选择“属性”。
3. 在弹出的窗口中,点击左侧的“高级系统设置”。
4. 在系统属性窗口中,点击“环境变量”按钮。
5. 在环境变量窗口的“用户变量”部分,找到所有与Docker相关的变量,并逐个选中并点击“删除”按钮。
6. 点击“确定”保存更改。
7. 重新安装Docker Desktop。
对于一些情况下,不需要重新安装Docker Desktop,只需删除Docker环境变量并重新启动终端应用程序即可解决问题。
Docker for Desktop连接错误的原因和解决方法
在使用PowerShell而不是WSL(Windows Subsystem for Linux)时,我们遇到了Docker for Desktop连接错误的问题。以下是解决该问题的原因和方法。
环境配置如下:
- Windows 10 Pro 20H2 (Build 19042.867)
- Docker 20.10.5
- PowerShell 5.1.19041.610
经过几个小时的研究和与在干净的Windows 10上进行安装的比较后,我意识到了我的错误所在。除了用户环境变量之外,还要确保Windows系统环境变量中没有DOCKER变量。
以下是我犯错的地方,我认为这是由于Docker模块的安装导致的:
![错误截图](https://i.stack.imgur.com/D3EGy.png)
我在系统环境变量中有DOCKER_HOST变量,所以我将其删除。如果您想使用PowerShell检查所有环境变量:
[System.Environment]::GetEnvironmentVariables()
如果您确实想在Windows上进行全新安装的Docker,您需要删除以下文件夹:
C:\ProgramData\Docker C:\Program Files\Docker\Docker $HOME\AppData\Local\Docker $HOME\AppData\Roaming\Docker $HOME\AppData\Roaming\Docker Desktop $HOME\.docker
我的错误导致了以下错误:
ERROR => error during connect: Get http://docker.artofshell:2376/v1.24/version: dial tcp: lookup docker.artofshell: no such host
![错误截图](https://i.stack.imgur.com/Gg7XP.png)
通过完全卸载所有Docker(通过chocolatey、官方Docker等)并通过从官方可执行文件正确安装Docker,一切都恢复正常。
然后,如果您想通过PowerShell使用docker,您需要更改DockerCLI的配置,可以在许多答案中找到相应的方法。
结论
- 可以使用PowerShell使用docker,您必须检查服务器守护程序是否由Windows/amd64使用,可以使用以下命令修改守护程序:`cd "C:\Program Files\Docker\Docker"; .\DockerCli.exe -SwitchDeamon`
- 可以使用以下命令检查守护程序的配置:`docker version`
- 必须删除所有旧的Docker安装的痕迹
- 必须删除旧安装或docker toolbox的环境变量
- 还必须激活实验性功能,具体信息请参考[这里](https://stackoverflow.com/a/66606000/12317483)
这种解决方案无需重新安装,我也没有需要删除的环境变量。