[英]docker toolbox Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certific ate signed by unknown authority
[英]docker (behind a proxy) pull from azure container registry works but from registry-1.docker.io, it gives certificate signed by unknown authority error
在ubuntu 18.04 VM中
我在代理后面,我已经使用相同的代理设置了docker配置。
我创建了一个azure容器注册表,当尝试从注册表中停靠时,它可以工作。
但是当试图:
$ docker run node:6
我收到错误:“docker:来自守护程序的错误响应:获取https://registry-1.docker.io/v2/:x509 :由未知权限签署的证书。”
我已将注册表添加到/etc/docker/daemon.json:
{
“insecure-registries”:[“registry-1.docker.io”,“myazureContainerRegistry.azurecr.io”]
}
通过执行上述步骤,“$ docker run myazureContainerRegistry.azurecr.io/myimage:tag”可以正常工作,但“$ docker run node:6”仍然会出现证书错误。
我已将“* .docker.io”的证书添加到/etc/docker/certs.d/docker.io以及/ usr / local / share / ca-certificate(sudo apt update-ca-certificates),它还行不通。
我也尝试过:
$ curl -k https://registry-1.docker.io/
$ wget https://registry-1.docker.io/ --no-check-certificate
这两个步骤都有效,但是使用docker(运行/拉出节点:6)我仍然得到证书错误。
“$ docker --version”的输出是:“Docker版本18.09.2”
这就是我的〜/ .docker / config.json的样子:
我希望“docker run node:6”能够成功拉出图像,但实际上却给出了错误
对于您的问题,首先,您需要在〜/ .docker / config.json中拥有证书。 然后,您无需登录即可从注册表中提取图像。 然后您可以在不拉动图像的情况下执行命令。 为你,这样的命令:
docker run registry-1.docker.io/node:6
在我这边,config.json会喜欢这样:
我可以像这样执行命令:
docker hub中的注册表URI是https://index.docker.io/v1/charlesjunqiang 。
更新
如果您使用证书文件来验证Docker注册表。 然后,您应该执行一些步骤来验证客户端计算机中的Docker注册表。
一:
将证书文件添加到目录/usr/local/share/ca-certificates/docker-dev-cert/
,名称为yourname.crt
。 然后执行命令:
sudo update-ca-certificates
sudo service docker restart
Secord:
在目录/etc/docker/certs.d
创建一个与注册表同名的目录,例如myregistry.azurecr.io。 然后在其中添加名称为yourname.cert
的证书文件。 此外,您应该将文件添加为在创建证书文件时自动创建的.key。
然后,您可以登录注册表并根据需要运行命令docker run registry-1.docker.io/node:6
。
在我这边有结果的截图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.