当前位置: 首页 > 面试题库 >

Windows的Docker无法正常工作

谷善
2023-03-14
问题内容

我现在已经安装了Docker工具箱,并且收到所有错误:

Get http://127.0.0.1:2375/v1.20/version: dial tcp 127.0.0.1:2375: ConnectExtcp: No connection could be made because the target machine actively refused it..
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?

docker version 输出:

Client:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:49:29 UTC 2015
 OS/Arch:      windows/amd64
Get http://127.0.0.1:2375/v1.20/version: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could be made because the target machine actively refused it..
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?

但是VM在VirtualBox下运行。我到处搜索,但找不到html" target="_blank">解决方案。

UPDATE1 :我正在使用Windows 8.1,并且还尝试通过Kinematic进行启动。

UPDATE2:当我尝试Virtualbox Test Build 5.0.3或更高版本时,一切都像魅力一样。
您可以在这里下载:https :
//www.virtualbox.org/wiki/Testbuilds


问题答案:

赶紧跑:

"C:\Program Files\Docker Toolbox\docker-machine" ls

获取机器名称,然后运行:

"C:\Program Files\Docker Toolbox\docker-machine" env <MACHINE_NAME_HERE> --shell=[cmd|powershell]

并且您应该得到这样的东西:

"C:\Program Files\Docker Toolbox\docker-machine" env default --shell=cmd
set DOCKER_TLS_VERIFY=1
set DOCKER_HOST=tcp://192.X.X.X:2376
set DOCKER_CERT_PATH=C:\Users\X\.docker\machine\machines\default
set DOCKER_MACHINE_NAME=default
# Run this command to configure your shell:
# copy and paste the above values into your command prompt

我还得到了一个错误open C:\Users\X\.docker\machine\machines\default\server.pem: The system cannot find the file specified.
,并通过将我的VirtualBox升级到版本5.0.3(从他们的每晚构建版本中)解决了

长版:

我遇到了同样的问题,之后,安装手册中的“从Windows命令行提示符中使用Docker(cmd.exe)”部分将我引向正确的方向。

基本上,docker的工作方式是将“
docker”命令传递到docker服务(在端口2375上运行)。从Windows主机运行docker时,该服务实际上在docker创建的linux主机上运行(您可以通过打开virtualbox
ui看到它)。

通常的流程如下:

  1. 默认计算机已创建
  2. 机器的启动器(动态/“ Docker Quickstart Terminal” / cmd)等待机器启动,获取其IP地址并将linux ip:port设置为服务地址(而不是127.0.0.1:2375) / powershell变量
  3. 从这一点开始,所有docker ...命令都将发送到linux主机,并且一切都几乎像本地linux一样工作

问题是机器设置存在一些问题(我猜是新的虚拟盒子,但我不确定并有时间进行研究)。您可以通过运行ls命令看到该命令,并注意到(至少在我的情况下)计算机的状态为“超时”,并且没有url,这与手册中显示的输出不同。

这将导致无法设置环境值并且docker ...命令将失败。

除了运行命令,您还可以Docker Quickstart Terminal使用sh shell 启动执行相同操作的。

关于证书错误,我尝试使用以下方法从虚拟机中重新生成证书:

/usr/local/bin/generate_cert --overwrite --host=default,127.0.0.1,10.0.2.15,192.168.99.100 --ca=/var/lib/boot2docker/tls/ca.pem --ca-key=/var/lib/boot2docker/tls/cakey.pem --cert=/var/lib/boot2docker/tls/server.pem --key=/var/lib/boot2docker/tls/serverkey.pem

尝试将证书复制到主机时出现“协议错误”,这使我想起了旧的virtualbox共享文件夹错误,因此对于docker来说这可能不是问题,但与virtualbox兼容-
我已升级到最新的每晚版本(5.0
.3-102224),则重新生成了默认图片,这似乎可以解决它。由于docker和virtualbox均未正式支持Windows
10,因此我不确定这是否是导致证书错误的原因,无论如何都可以尝试从虚拟机复制证书(您已经代码块中的路径)到本地用户目录(它映射到虚拟机中的/ c /
Users / X /)



 类似资料:
  • 问题内容: 我正在使用VS2017 Docker支持。VS为我创建了DockerFile,当我构建docker-compose文件时,它会创建容器并在172.xxx IP地址上运行应用程序。但是我想在本地主机上运行我的应用程序。 我做了很多事情,但没有任何效果。跟随docker docs作为启动器并构建microsoft示例应用程序。第二个链接运行正常,但是尝试第一个链接方法时出现HTTP错误40

  • 问题内容: 所以我使用Docker Toolbox是因为我的机器上没有Hyper-V,因为它不是Windows 10专业版。一切似乎都正常,但是当我尝试使用浏览器时,它总是返回我:无法访问此站点 但是,当我运行命令时:我得到以下信息:这意味着该地址应该工作。我搜索了stackoverflow和github问题。现在我被卡住了。 我想念什么吗? 谢谢马克 编辑: 使用返回我。我在端口80上运行。除了

  • 问题内容: 我试过在Windows 7上安装docker(使用boot2docker)。但是控制台只是突然存在,我看不到错误,更不用说运行任何命令了。 在安装过程中,我尝试安装和不安装VirtualBox。我也尝试卸载并重新安装docker和virtualbox。似乎没有任何作用。 这是我运行时看到的控制台错误: 问题答案: 请检查您的BIOS的VT-x设置。根据您提供的日志,有一个错误:

  • 步骤: < li >在此处安装windows Docker(稳定) < li >试图运行:出现错误,必须在BIOS中启用硬件辅助虚拟化和数据执行保护。 < li >到此处阅读 < li >确保我已打开64位windows 10 pro和hyper-v。 < Li > < img src = " https://I . stack . imgur . com/ly hvm . png " alt =

  • 问题内容: 因此,我的设置无法按我想要的方式工作。因此,每当我运行该程序时,它就会立即从0变为100。我尝试使用,任务,并尝试了,但没有任何尝试。 这是我的程序: @MadProgrammer这是我尝试做一名摆动工作人员并将每个名称写入文档并更新进度栏的尝试。该程序将达到86%左右并停止运行,永远不会创建完成的文档。该程序将创建一个空白文档。这是我首先创建的SwingWorker对象,这是两种方法

  • 问题内容: 我在JLayeredpane上有两个JPanels。其中一个显示pdf,重叠的一个具有透明背景(我使用过setOpaque(false))。现在,我可以将图形添加到透明面板中,这样看来我实际上是在注释pdf。我想要一个橡皮擦工具来删除这些注释。我尝试使用以下代码 其中path是由多条线构成的形状。现在,不是在先前的图形上绘制 透明线 ,而是绘制 黑线 。我要去哪里错了? 问题答案: 请