Tag: dockerregistry

如何通过保存命令创build的docker镜像到远程registry没有docker客户端

我正在寻找使用curl或类似的方法将tar文件与保存命令创build的映像一起推送到远程的docker仓库。 所以我在寻找类比 docker tag some/image repository:5000/some/image docker push repository:5000/some/image 但没有安装docker客户端。 我想出了类似的代码 userToken=$(oc login -u admin -p password > /dev/null && oc whoami -t) uploadURL=$(curl -u admin:"$userToken" -si -X POST "172.30.118.161:5000/v2/some/image/blobs/uploads/" | grep 'Location:' | cut -d ' ' -f 2 | tr -d '[:space:]') digest="sha256:$(sha256sum image.tar | cut -d ' ' -f 1)" curl -v […]

Docker客户端强制单片上传

据此,docker工人有两个上传系统。 全层通过PUT请求立即上传(单片上传) 通过PATCH请求分块。 在我的用例场景中,我需要强制客户端始终使用单片上载。 如果收到一个块请求,registry必须告诉客户端返回到单片上传并立即发送该层。 这怎么能实现?

Docker私人信任的registry

我想删除docker私人信任registry中的图像。如何查看可用图像以及如何删除旧图像? 我正在使用registry:2 提前致谢。

不同的哈希,而从中心拉,并推向registry

请参阅附件图片。 我可以看到不同的图层哈希和不同的最终图像哈希从Docker中心拉,同时推回到我的本地registry。 但是,一旦它被推入registry,我可以看到在Docker从集线器拉(我看到我的registry清单文件中的这些层详细信息)相同的层。 为什么会有不同的哈希,这里究竟发生了什么?

在Gitlab CI构build中使用Docker拨号tcp I / O超时

自从几天以来我有一个问题,我不能理解,让我们放下修复。 我正在设置一个私人的Gitlab + Gitlab CI + Gitlab Dockerregistry环境来托pipe和testing我的代码,并在一个跑步者中build立它的泊坞窗图像。 我正在使用docker:dind图像在Gitlab runner中构build一个Docker镜像。 我有以下错误: gitlab-ci-multi-runner 1.3.2 (0323456) Using Docker executor with image docker:latest … Pulling docker image docker:dind … Starting service docker:dind … Waiting for services to be up and running… Pulling docker image docker:latest … Running on runner-c682f650-project-23-concurrent-0 via 4b1582b2cffb… Fetching changes… HEAD is now at 7f10ed4 […]

Docker:私人registry访问

我正在尝试将图像推送到我的docker专用存储库: docker pull busybox docker tag busybox living-registry.com:5000/busybox docker push living-registry.com:5000/busybox Docker告诉我: 推送是指存储库[living-registry.com:5000/busybox]获取https://living-registry.com:5000/v1/_ping :读取tcp 195.83.122.16:39714->195.83.122.16:5000:读取:通过同级重置连接 这些命令正在CoreOS上执行。 在另一台机器上,我使用这个命令启动了我的registry: docker run -d -p 5000:5000 –restart=always –name registry \ -v /root/docker-registry/auth:/auth \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ -v /root/docker-registry/certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/registry.key \ -v /root/docker-registry/data:/var/lib/registry \ registry:2 一切似乎都是对的: # netstat […]

为什么GCR的容器registry忽略_catalog分页参数

当试图用分页参数的_catalog API查询我的GCR 容器registry时 ,我发现没有Docker文档中描述的分页机制。 $ TOKEN=$(gcloud auth print-access-token) $ curl -v -u _token:${TOKEN} -X GET "https://gcr.io/v2/_catalog?n=1" 我看到你一次获得所有的存储库。 我希望得到一个单一的存储库。 这是响应的主体: {"repositories":["image1","image2","image3", … , "image2016"]} 响应的头部没有关于GCR处理请求的方式的信息,即以下查询返回与上述相同的结果: curl -v -u _token:${TOKEN} -X GET "https://gcr.io/v2/_catalog" 谷歌表示,它支持所有的V2dockerregistryAPI。

在推送之前是否有预先压缩Docker镜像的方法?

我正在通过互联网将一些docker图像推送给我们的主机。 看到Docker压缩图像,并且CLI在压缩之前报告了整个图像大小,我使用nethogs来观察上传进度 – 由于压缩,似乎是停滞的,因为上传速度远低于我预期的是。 我希望能够上传这个镜像 – 我有办法cachingDocker的压缩镜像,然后再推送它吗?

使用OAUauthentication设置私人dockerregistry(每个用户使用特定的命名空间)

我的用例需要设置一个私人dockerregistry,能够将用户authentication到特定的名称空间,而防止authentication的用户将图像拉到/推送到其他名字空间,而不是分配给他们的名字空间。 到目前为止,我的调查指出我有以下模块的设置 dockerregistry(当然) Oauth2authentication模块,每个用户的范围 在registryconfig.yml文件上设置oauth 这种设置可能吗? 如何configurationdockerregistry以使用OAuth2服务器? 我从官方文档中find了以下资源: https://docs.docker.com/registry/spec/auth/token/ 在我的config.yml中,我添加了以下几行: auth: token: realm: http://localhost:8200/oauth/token issuer: Auth Service service: Docker Registry rootcertbundle: /certs/server.crt 在位置http://localhost:8200/是我的QAuth2实现,它基于Spring OAuth2 当我尝试login到我的registry $> docker login -u admin -p admin https://localhost:5000 似乎没有任何一个QAuth2的stream程被docker跟在后面,我注意到它发送了一个GET(这是不允许的,但我有点破解它通过)请求,并且具有以下forms: /oauth/token?account=admin&client_id=docker&offline_token=true&service=Docker+Registry login名和密码在授权头中,Oauth2服务器进行基本的authentication,但没有成功,但是遗漏了grant_type,username,密码等。 我究竟做错了什么? 就我所知道的密码stream而言,正确的OAuth2令牌请求具有以下forms: curl -X POST "localhost:8200/oauth/token" \ -d "username=admin&password=admin&grant_type=password&scope=read%20write&" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -H […]

Docker中心/registry自动构build从github构build详细信息日志

我正在使用hub.docker上的自动构buildfunction。 这工作得很好,当我推动一个Github repo的变化时,这触发了在hub.docker上构build的图像。 由于这个图片很大(大约需要35分钟),我经常想知道里面的事情是怎么回事。 在自动构build的“ Build Details选项卡上,可以看到最新映像的创build时间,上次更新时间和状态。 这看起来像这样: 构build完成后,我可以点击构build并查看logs 。 这是一个完整的细分,对debugging非常有用。 然而,这通常意味着等待构build完成(35分钟)。 以前我曾经用Quay做实验,他们有一些非常好的日志loggingfunction,让我知道内部发生了什么。 有缺lessDockerfunction吗? 我已经添加了一个slack webhook,但在构build过程中没有通知。