当前位置: 首页 > 知识库问答 >
问题:

Docker私人登记处

卫松
2023-03-14

在虚拟服务器 ubuntu 14.04 上,我已经安装了 docker,并尝试将映像推送到本地注册表。我在 Docker 博客上遵循了本指南,但是当我尝试推送映像时,我有以下输出:

错误:无效的注册表endpointhttps://xx.xx.xx.xx/v1/:获取https://xx.xx.xx.xx/v1/_ping:x509:证书已过期或尚未有效。如果此私有注册表仅支持带有未知CA证书的HTTP或HTTPS,请在守护进程的参数中添加--inseure-的注册表xx.xx.xx.xx。对于HTTPS,如果您有权访问注册表的CA证书,则不需要该标志;只需将CA证书放在 /etc/docker/certs.d/xx.xx.xx.xx/ca.crt

我尝试在< code>/etc/default/docker文件中添加< code >-unsecured-registry xx . xx . xx . xx 并重新启动docker服务。Docker无法以消息< code >/proc/self/FD/9:17:/etc/default/docker:-secured-registry:not found 开始。

PS:我在docker容器中运行我的注册表

共有3个答案

齐英朗
2023-03-14

直接在主机上设置 docker 注册表非常令人沮丧。设置本地 docker 存储库的最简单方法是使用 docker-registry docker 映像。只需执行

docker run -p 5000:5000 -d registry

docker应该下载正式的docker注册图像。之后,您可以附加到容器并自定义设置。资料来源:http://www.devops-insight.com/2014/12/using-private-docker-repository-registry.html

齐成双
2023-03-14

只需运行这个dockerrun-p 5000:5000-d注册表,就会遇到https的麻烦。

我发现这个教程很有帮助:如何在Ubuntu 14.04上设置私有Docker注册表

它基本上用nginx建立了一个反向代理来访问私有注册表。我有一个带有注册表的流浪箱,还有一个不同的流浪箱从注册表中取出东西。它有效:)

希望有帮助

拓拔阎宝
2023-03-14

我在Ubuntu 12.04和Docker 1.4.1上遇到了同样的问题。下面是我的解决方案:

$ sudo docker push "[host:ip:v6:addr:ess:is:here]:5000/myImage"
FATA[0002] Error: Invalid registry endpoint https://[host:ip:v6:addr:ess:is:here]:5000/v1/: Get https://[host:ip:v6:addr:ess:is:here]:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry [host:ip:v6:addr:ess:is:here]:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/[host:ip:v6:addr:ess:is:here]:5000/ca.crt 

所以,我有一个错误。

$ ps axwww | grep /usr/bin/docker
14655 ?        Ssl    2:06 /usr/bin/docker -d
14869 pts/0    S+     0:00 grep /usr/bin/docker

请注意,/usr/bin/docker 没有额外的参数。

$ echo 'DOCKER_OPTS="--insecure-registry [host:ip:v6:addr:ess:is:here]:5000"' | sudo tee -a /etc/default/docker
DOCKER_OPTS="--insecure-registry [host:ip:v6:addr:ess:is:here]:5000"
$ sudo service docker restart
docker stop/waiting
docker start/running, process 15615

让我们检查一下是否出现了参数:

$ ps axwww | grep /usr/bin/docker
15615 ?        Ssl    0:00 /usr/bin/docker -d --insecure-registry [host:ip:v6:addr:ess:is:here]:5000
15663 pts/0    S+     0:00 grep /usr/bin/docker

是的,他们有。再试一次:

$ sudo docker push "[host:ip:v6:addr:ess:is:here]:5000/myImage"
The push refers to a repository [[host:ip:v6:addr:ess:is:here]:5000/myImage] (len: 1)
Sending image list
Pushing repository [host:ip:v6:addr:ess:is:here]:5000/myImage (1 tags)
511136ea3c5a: Image successfully pushed 
27d47432a69b: Pushing [================================================>  ] 189.8 MB/197.2 MB 0
 类似资料:
  • docker私有仓库更改过ip地址, 旧的ip地址是 10.1.28.60 新的ip地址是 10.1.22.70 当尝试从命令行登录时docker login --username=admin 10.1.22.70:9000 错误提示如下: 奇怪的地方是,请求新的ip地址10.1.22.70返回的错误信息里,出现了旧的ip地址10.1.28.60。这个旧的ip地址是存在哪儿的?要如何清除掉? 另外

  • 问题内容: 我通过自定义证书配置了不安全的注册表。提供用户名和密码后,收到错误消息为 “来自守护程序的错误响应:获取 https:// ip 地址:5000 / v1 / users /:x509:未知授权机构签名的证书”。 问题答案: 执行以下步骤以使用私有证书对docker登录: 使用以下命令生成私有SSL证书。这将创建带有两个文件domain.crt,domain.key的certs文件夹

  • 在github文档中找不到任何东西,在这里也找不到。但是我想知道是否可以有一个用于名为的私有存储库,该存储库可以访问,只有一个人可以访问存储库本身。 我记得曾经读过一些关于github页面总是公开的东西,但似乎再也找不到了。

  • 关于这个问题,我用脚本化的Jenkins管道更新了JHipster应用程序,现在在

  • 本文向大家介绍centos7搭建docker私人仓库的方法(kubernetes),包括了centos7搭建docker私人仓库的方法(kubernetes)的使用技巧和注意事项,需要的朋友参考一下 我们平时镜像都是习惯于放在公共仓库的,比如Dockerhub, Daocloud。但在企业里,我们经常会需要搭建公司自己的镜像仓库。 这篇文章讲解如何用docker提供的registry镜像来搭建自己