首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker (在代理后面)从蔚蓝容器注册表中提取,但从注册表-1.docker.io中提取,它给出了由未知权限错误签名的证书

docker (在代理后面)从蔚蓝容器注册表中提取,但从注册表-1.docker.io中提取,它给出了由未知权限错误签名的证书
EN

Stack Overflow用户
提问于 2019-04-24 09:02:24
回答 1查看 2.2K关注 0票数 1

在ubuntu 18.04 VM中

我在代理的后面,我用同一个代理设置了坞配置。

我创建了一个蔚蓝的容器注册表,当尝试从注册表中进行停靠时,它可以工作。

但当试图:

$docker运行节点:6

我得到了错误:"docker:来自守护进程的错误响应:获取https://registry-1.docker.io/v2/:x509:由未知权威机构签名的证书“。

我将注册表添加到/etc/docker/daemon.json:

{

“不安全-注册表”:“注册表-1.docker.io”、"myazureContainerRegistry.azurecr.io“

}

通过执行上述步骤,“运行myazureContainerRegistry.azurecr.io/myimage:tag”有效,但"$docker运行节点:6“仍然提供证书错误。

我已经将"*.docker.io“的证书添加到/etc/docker/certs.d/docker.io,也添加到/usr/local/share/ca-证书(sudo apt update-ca-证书),但它仍然不起作用。

我还试图:

  1. $curl -k https://registry-1.docker.io/
  2. $wget https://registry-1.docker.io/ --无支票证书

这两个步骤都可以工作,但是对于docker (要运行/拉节点:6),我仍然会得到证书错误。

"$docker --版本“的输出是:”DockerVersion18.09.2“

这就是我的~/..docker/config.json的样子:

config.json

我希望“码头运行节点:6”能够成功地提取图像,但实际上会产生错误。

EN

回答 1

Stack Overflow用户

发布于 2019-04-24 09:27:32

对于您的问题,首先,您需要在~/..docker/config.json中获得证书。然后,您可以从注册表中提取图像,而无需登录。然后,您就可以执行命令,而不需要之前拉出图像。对你来说,这样的命令:

代码语言:javascript
复制
docker run registry-1.docker.io/node:6

在我这边,config.json会喜欢这样的:

我可以这样执行命令:

停靠中心中注册表的URI是https://index.docker.io/v1/charlesjunqiang

更新

如果使用证书文件对Docker注册表进行身份验证。然后,您应该执行一些步骤来验证客户端计算机中的Docker注册表。

One:

在目录/usr/local/share/ca-certificates/docker-dev-cert/中添加名为yourname.crt的证书文件。然后执行以下命令:

代码语言:javascript
复制
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

我这边有结果的截图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55826250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档