docker client(docker 1.12 / centos)http:server给HTTPS客户端提供HTTP响应

时间:2016-09-05 14:39:07

标签: http docker

在centos 7上设置docker 1.12。 docker使用带有以下命令行的systemd启动(根据systemctl status docker):

/usr/bin/dockerd -D --tls=false --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://10.10.2.1:2376

然后我想检查本地机器,设置以下环境变量:

DOCKER_HOST=tcp://10.10.2.1:2376
DOCKER_TLS_VERIFY=0
DOCKER_MACHINE_NAME=default

然后使用docker命令行工具进行检查:

docker --tls=false --tlsverify=false  images

结果:

尝试连接时出错:获取https://10.10.2.1:2376/v1.24/images/json:http:server向HTTPS客户端提供HTTP响应

快速检查:

curl http://10.10.2.1:2376/images/json

给出图像信息。

现在:我假设服务器确实响应了http(这是有意的),但是如何让客户端也能回复http?

2 个答案:

答案 0 :(得分:0)

它需要明确定义您的注册表不安全:

  • 打开 /etc/docker/daemon.json 文件
  • 将您的注册表添加到不安全列表
{
  ..
  "insecure-registries" : [
    "10.10.2.1:2376"
  ],
  ..
}
  • 重新启动Docker服务
sudo service docker restart

有关详细信息,请参见Docker: Test an insecure registry

答案 1 :(得分:-3)

端口2376用于TLS通信。 请改用端口2375。

DOCKER_HOST=tcp://10.10.2.1:2375