问题标签 [docker-registry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
345769 浏览

docker - 如何从私有 Docker 注册表中删除图像?

我运行一个私有 docker 注册表,并且我想latest从存储库中删除所有图像。我不想删除整个存储库,只是其中的一些图像。API 文档没有提到这样做的方法,但肯定有可能吗?

0 投票
4 回答
4925 浏览

docker - Docker 推送到私有注册表的 X-Registry-Auth 的内容是什么

使用REST API将 Docker 映像推送到私有注册表时,X-Registry-Auth 标头的内容应该是什么?根据Using Docker API to push to private registry,需要一个 X-Registry-Auth 标头。https://groups.google.com/forum/#!topic/docker-user/vXcA8fsCNZM建议该值应该是格式为 base64 编码的 JSON 字符串:

设置合适的环境变量后,我做了:

并得到403 Forbidden回应。

也许问题只是我不知道值应该是什么。我怎样才能确定它们?Docker 似乎有办法;sudo docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$TAG工作得很好。

0 投票
1 回答
4316 浏览

docker - 是否有用于私人目的的 docker 注册表集群解决方案?

我正在寻找一种开源解决方案来同步多个 docker 注册表。有人可以给我一些提示吗?

0 投票
2 回答
15436 浏览

docker - 设置远程私有 Docker 注册表

我需要一些关于设置“远程私有 Docker 注册表”的提示。

Docker-Registry 上的README.md主要关注在同一主机上运行的私有注册表,没有指定其他机器如何远程访问它(或者可能太复杂而无法理解)。

到目前为止,我发现了这些线程:

Docker:从另一个服务器的私有注册表中提取问题(仍然是一个开放线程,没有提供解决方案。关于Github 的进一步讨论给出了关于代理的提示,但它是如何工作的?)

创建一个远程私有注册表 (可能最接近我正在寻找的内容,但是我需要什么命令才能从其他机器访问注册表?)

如何使用您自己的注册表(同样,这侧重于在同一主机上运行注册表。它确实提到在端口 443 或 80 上运行以供其他机器访问,但需要更多详细信息!)

线索不多了,非常感谢任何输入!

0 投票
1 回答
1845 浏览

docker - 如何将我的 docker 注册表存储在文件系统中

我想在 nginx 服务器后面设置一个私有注册表。为此,我使用基本身份验证配置了 nginx,并启动了一个 docker 容器,如下所示:

通过这样做,我可以登录到我的注册表,推/拉图像......但是如果我停止容器并重新启动它,一切都会丢失。我本来希望我的注册表被保存,/home/example/registry但事实并非如此。有人可以告诉我我错过了什么吗?

0 投票
15 回答
100184 浏览

docker - 如何远程访问私有 docker-registry?

我正在尝试使用从以下位置获取的图像设置私有 docker 注册表: https ://github.com/docker/docker-registry

只需运行:
docker run -p 5000:5000 registry

我只能从本地主机拉/推到这个存储库,但是如果我尝试从另一台机器(使用同一 LAN 上的私有地址)访问它,它会失败并显示错误消息:

让我抓狂的是,我可以使用以下方法成功访问它: curl 10.0.0.26:5000 和/或curl 10.0.0.26:5000/v1/search

我也不明白我应该在哪里以及如何传递--insecure-registry旗帜。

0 投票
1 回答
327 浏览

docker - 如何通过更新 docker 注册表服务器来修复客户端上的不安全注册表错误

升级到 docker 1.3 时,docker 客户端产生以下错误:

这个注册表在我们公司的防火墙后面,所以我不想增加任何安全性。有没有办法在注册表服务器上消除这个错误?最简单的方法是什么?是启用 https 还是有更简单的技巧?

我不想更新所有注册表客户端的配置

0 投票
1 回答
1842 浏览

registry - 通过主机 ubuntu 主机中的浏览器访问在 vagrant vm 上的 coreos 中运行的 docker 容器

我已经设置了在 vagrant VM 中运行的 coreos。我想设置私有 docker 注册表。我拉了注册表,我可以运行它。以下是运行注册表的输出

在我的 ubuntu 主机中,我的 ifconfig 输出显示以下内容

lo 链路封装:本地环回

在 ubuntu 主机上的浏览器中访问 172.17.42.1:5000 和 192.168.65.27:5000 显示等待很长时间但最终无法连接。

我参考了这篇文章,但我的流浪汉没有提到文章中提到的条目。

我的流浪文件如下

如何在 coreos-vagrant 上运行 docker-registry 并使用在主机上运行的浏览器连接到它?

0 投票
1 回答
2597 浏览

build - docker build 发布插件中的错误

你能帮我配置一下jenkins docker build 发布插件吗?我已经为 docker repo 设置了工件,并尝试从 github docker 文件推送图像构建。

以下是我得到的错误:

0 投票
7 回答
18934 浏览

docker - 使用托管在 docker 上的私有注册表

我将自己的 docker-registry 托管在 docker 容器中。它的前面是运行在单独容器中的 nginx,以添加基本身份验证。检查 _ping 路由我可以看到 nginx 正在正确路由。docker login从 boot2docker(在 Mac OSX 上)调用时,我收到此错误:

FATA [0003] 来自守护程序的错误响应:无效的注册表端点https://www.example.com:8080/v1/:获取https://www.example.com:8080/v1/_ping:x509:证书由未知签名权威。如果此私有注册表仅支持带有未知 CA 证书的 HTTP 或 HTTPS,请添加--insecure-registry www.example.com:8080到守护程序的参数。在 HTTPS 的情况下,如果您可以访问注册表的 CA 证书,则不需要标志;只需将 CA 证书放在 /etc/docker/certs.d/www.example.com:8080/ca.crt

这很奇怪——因为它是一个有效的 CA SSL 证书。我已尝试--insecure-registry按照以下说明添加 EXTRA-ARGS:https ://github.com/boot2docker/boot2docker#insecure-registry但最初“配置文件”文件不存在。如果我创建它并添加

我看没有改善。我想隔离该示例,因此尝试docker login使用 ubuntu VM(不是 boot2docker)。现在我得到一个不同的错误:

docker 注册表直接从公共集线器运行,例如

(注意 nginx 路由从 8080 到 5000)。任何帮助和/或帮助调试的资源将不胜感激。

更新

我正在寻找一个指南来帮助全面解决这个问题。具体来说:

  • 创建私有注册表
  • 使用基本身份验证保护注册表
  • 使用 boot2docker 中的注册表

我已经创建了注册表并在本地进行了测试,它可以工作。我已经使用 nginx 添加基本身份验证来保护注册表。

现在的问题实际上是从两种类型的客户端使用注册表:

1) 非 boot2docker 客户端。以下答案之一对此有所帮助。我在 /etc/default/docker 中的选项中添加了 --insecure-registry 标志,现在我可以与我的远程 docker 注册表交谈。但是,这与 auth 不兼容,因为 docker login 出现错误:

所以,如果我想使用身份验证,我需要使用 HTTPS。我已经让这台服务器通过 HTTPS 提供服务,但如果我设置了 --insecure-registry,这将不起作用。似乎存在证书信任问题,我相信我可以在非 boot2docker 上解决,但是..

2) 对于 boot2docker 客户端,我无法使 --insecure-registry 工作或证书受信任?

更新 2

这个堆栈交换问题之后,我设法将 ca 添加到我的 ubuntu VM 中,现在我可以从非 boot2docker 客户端使用。但是,仍然有很多奇怪的行为。

即使我当前的用户是 docker 组的成员(所以我不必使用 sudo)我现在必须使用 sudo 否则在尝试登录或从我的私人注册表中提取时出现以下错误

第一次运行从我的私有注册表中提取的容器时,我必须通过图像 ID 指定它们 - 而不是它们的名称。