现在可以在这里找到关于这个主题的大量问题;但是当我面对这个问题时,我在整个互联网上冲浪,拉出我的头发,但是找不到合适的解决方案。
现在,情况 -
我正在通过从docker注册表中提取图像来创建docker容器。我正在开发 Windows 。我在使用Cyberroam的公司网络下。拉动任何图像时我都会收到错误
TLS握手超时
当退出公司网络时,此问题已得到解决,我没有收到任何错误 - 所有图像拉动都正常工作。
不确定是否是代理问题。但我需要它在公司网络下工作,因为其他互联网选项是有限的。
答案 0 :(得分:1)
我多次浏览互联网但总是失败。
我尝试了很多东西,比如 -
HTTP_PROXY
,HTTPS_PROXY
和NO_PROXY
个环境变量(单独的选项),如在docker-machine配置文件中,在命令提示符中当虚拟机启动时,在选项Proxies下的docker守护程序设置中。但我的错误并没有得到解决。
所以,我从一开始就没有希望,并做了这个 -
首先,我在Hyper-V Manager中创建了一个新的虚拟交换机。我从给定的。
中选择了内部选项然后,转到网络设置>更改适配器设置我打开了我使用(公司网络)的无线适配器的属性。
在分享标签下,我选择了第一个选项 - 允许其他网络用户通过此计算机的互联网连接进行连接。
从下拉列表中选择您在第一步中创建的虚拟交换机。
重新启动docker并在cmd
重新启动虚拟机 - docker-machine restart [machinename]
。系统可能会要求您重新生成虚拟机的证书。运行cmd
中显示的命令,您将会很高兴。
现在尝试拉出任何图像,错误就会解决。
现在我知道互联网上会有多个链接用于此解决方案,其中大多数都建议设置环境变量(顺便说一下,对于很多人来说可能是解决方案。不幸的是,对我来说不是这样)
根据我的理解 -
docker尝试连接到外部世界以提取图像。现在,以前它无法拉动,因为如果你想某种方式,码头工人在一个环境中,需要与我的笔记本电脑通信才能访问外网。
现在,无需在docker和笔记本电脑互联网之间建立任何连接,它就可以访问互联网。 如果可能的话,请将其视为断开的链接。以前我在虚拟交换机和无线适配器之间创建了一个桥接器,但它没有帮助。按照上述步骤,我能够成功完成。
下面的图片展示了我的理解。
现在这是我得到的解决方案,能够如此 oo 多日;我不得不写这个QA,希望别人在这一点上遇到困难可能会得到一些帮助。
希望它有所帮助。