来自守护程序的错误响应:Get http://registry-1.docker.io/v2/:proxyconnect tcp:tls:第一条记录看起来不像tls握手

来自守护程序的错误响应:Get http://registry-1.docker.io/v2/:proxyconnect tcp:tls:第一条记录看起来不像tls握手,docker,docker-machine,boot2docker,Docker,Docker Machine,Boot2docker,我在Windows7上安装了virtual box 5.2。我按照docker快速入门指南安装docker 因为我的机器在公司代理后面,所以我设置 HTTP_PROXY=http://xxx:port HTTPS_PROXY=https://xxx:port NO_PROXT="192.168.99.1/24" 通过在创建docker机器时传递它,并在机器启动后进行导出。 “docker machine create-d virtualbox--engine env HTTP_PROXY=”h

我在Windows7上安装了virtual box 5.2。我按照docker快速入门指南安装docker

因为我的机器在公司代理后面,所以我设置

HTTP_PROXY=http://xxx:port
HTTPS_PROXY=https://xxx:port
NO_PROXT="192.168.99.1/24"
通过在创建docker机器时传递它,并在机器启动后进行导出。 “
docker machine create-d virtualbox--engine env HTTP_PROXY=”http://xxx:80“--引擎环境HTTPS\u代理=”https://xxx:80“--engine env NO_PROXY=“192.168.99.1/24”默认值


docker run hello world
显示了上述错误。

这就是我的答案。 一旦安装了docker,请按照docker的说明快速启动并创建docker机器 将C:\Users\anant.docker\machine\machines\default中的boot2docker.iso替换为C:\Program Files\docker Toolbox中的boot2docker.iso

重新启动docker

docker-machine restart
应用环境变量

docker-machine env
output : 
导出DOCKER\u TLS\u VERIFY=“1”

导出DOCKER_主机=”tcp://192.168.99.100:2376"

导出DOCKER\u CERT\u PATH=“C:\Users\anant.DOCKER\machine\machines\default”

导出DOCKER\u MACHINE\u NAME=“默认”

导出组合\u转换\u窗口\u路径=“true”

@#运行此命令以配置shell: @#eval$(“C:\Program Files\Docker Toolbox\Docker machine.exe”env)

然后去测试,去尝试

docker run hello-world

大家好,我的英语很抱歉,但是经过这么多的研究,我终于在CentOS 7中解决了Docker的问题,运行了Hello World

在systemd中为docker服务创建目录:

 $ mkdir -p /etc/systemd/system/docker.service.d 
创建名为https-proxy.conf的文件

 $ /etc/systemd/system/docker.service.d/https-proxy.conf
添加环境变量“HTTP\u PROXY”和“HTTPS\u PROXY”:

[Service]
Environment="HTTP_PROXY=http://(host_name):(port_number)/" "HTTPS_PROXY=http://(host_name):(port_number)/"
重新启动服务守护程序和Docker“

现在,执行命令,完成

docker run hello-world

只需更改您的
HTTPS\u代理即可=https://xxx:port
HTTPS\u代理=http://xxx:port

此外,如果使用目录
/etc/systemd/system/docker.service.d
中的配置文件,则需要更改
https proxy.conf
文件中存在的内容。然后,运行以下命令使其生效:

systemctl daemon-reload
systemctl restart docker.service

然后您的问题应该得到解决。:)

首先检查您的internet连接是否正在运行,然后 如果您在docker桌面中 只需更改第二个代理,即https代理https://proxy:port 到 http://proxy:port 如果您在linux上,请将配置文件更改为此
{“proxies”:{“default”:{“httpProxy”:http://127.0.0.1:3001,“httpsProxy”:http://127.0.0.1:3001,“noProxy”:“*.test.example.com、.example2.com”}}}
或者将变量更改为HTTPS\u PROXY ENV HTTPS\u PROXY=”http://proxy:port"

有关linux的更多信息***


自从今天下午我重新创建了
默认的
机器以来,我遇到了同样的问题。我还支持一个公司代理(我用
导出HTTP\u proxy=…
start.sh
中设置了它们)。我还试着用同样的“看起来不像TLS握手”从内部注册表中提取图像“错误。PS下面的
docker机器重启
解决方案没有帮助我尝试添加内部注册表,因为
--引擎不安全注册表
不安全,希望绕过TLS,但仍然一样error@mRcSchwering我正在使用Windows7机器。你是否将boot2docker.iso从C:\Program Files\Docker Toolbox复制到C:\Users\UserName\.Docker\machine\machines\default?是的,我终于找到了。是的,我在WIn7上。似乎
boot2docker.iso有问题——正如您所说。实际上,我查找了.iso的旧版本,并将其复制到
C:\Users\User\.docker\machine\machines\default
中。似乎我在某个点上创建了一台
docker机器
,它加载了一个更新的
.iso
docker run hello-world
systemctl daemon-reload
systemctl restart docker.service