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

时间:2018-05-17 13:31:31

标签: docker docker-machine boot2docker

我在Windows 7上安装了虚拟机5.2。我按照docker快速入门指南安装了docker。docker for windows

由于我的机器落后于公司代理,我设置了

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" --engine-env HTTPS_PROXY="https://xxx:80" --engine-env NO_PROXY="192.168.99.1/24" default

docker run hello-world显示错误。

4 个答案:

答案 0 :(得分:1)

这对我有用。 一旦安装了docker,按照说明给出docker快速启动并创建docker机器 在C:\ Users \ anant.docker \ machine \ machines \ default替换boot2docker.iso,并在C:\ Program Files \ Docker Toolbox中显示相同的内容

重启docker

docker-machine restart

应用环境变量

docker-machine env
output : 

导出DOCKER_TLS_VERIFY =" 1"

export DOCKER_HOST =" tcp://192.168.99.100:2376"

export DOCKER_CERT_PATH =" C:\ Users \ anant.docker \ machine \ machines \ default"

导出DOCKER_MACHINE_NAME ="默认"

导出COMPOSE_CONVERT_WINDOWS_PATHS =" true"

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

eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)

然后进行测试,尝试

docker run hello-world

答案 1 :(得分:0)

大家好,对不起我的英语,但是通过大量研究,我终于解决了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_PROXY” “ HTTPS_PROXY”

[Service]
Environment="HTTP_PROXY=http://(host_name):(port_number)/" "HTTPS_PROXY=http://(host_name):(port_number)/"

重新启动服务守护程序和Docker“

systemctl daemon-reload
systemctl restart docker

现在,执行命令完成。

docker run hello-world

答案 2 :(得分:0)

只需将您的HTTPS_PROXY=https://xxx:port更改为HTTPS_PROXY=http://xxx:port

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

systemctl daemon-reload
systemctl restart docker.service

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

答案 3 :(得分:0)

首先检查您的互联网连接是否正在运行,然后 如果你在 docker 桌面 只需将 https 代理的第二个代理从 https://proxy:port 更改为 http://代理:端口 如果您使用的是 linux,请将配置文件更改为此{ "proxies": { "default": { "httpProxy": "http://127.0.0.1:3001", "httpsProxy": "http://127.0.0.1:3001", "noProxy": "*.test.example.com,.example2.com" } } } 或将变量更改为 HTTPS_PROXY ENV HTTPS_PROXY="http://proxy:port"

有关Linux的更多信息***

<a href="https://docs.docker.com/network/proxy/"></a>