在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?
答案 0 :(得分:0)
它需要明确定义您的注册表不安全:
{
..
"insecure-registries" : [
"10.10.2.1:2376"
],
..
}
sudo service docker restart
有关详细信息,请参见Docker: Test an insecure registry
答案 1 :(得分:-3)
端口2376用于TLS通信。 请改用端口2375。
DOCKER_HOST=tcp://10.10.2.1:2375