【问题标题】:docker push to a my-company docker repositorydocker push 到我的公司 docker 存储库
【发布时间】:2019-01-09 19:56:49
【问题描述】:

我有一个公司内部的 docker 存储库。

当我被添加到它时,我收到了格式为:

https://docker.mycompany.com/repositories/myusername/myrepository

好的。很棒。

我创建了一个 Dockerfile 并构建了 docker 映像。

docker build -t business-services:latest .

一切正常。

我做一个

泊坞窗图片

我明白了:

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
business-services   latest              aaaaaaaaaaaa        3 hours ago         120MB
openjdk             8-jdk-alpine        bbbbbbbbbbbb        2 weeks ago         103MB

太棒了!

现在我正在尝试将“business-services:latest”推送到:

https://docker.mycompany.com/repositories/myusername/myrepository

...

这就是事情出错的地方。

首先,在你问之前,是的,我已经登录了。

docker login https://docker.mycompany.com/repositories/myusername/myrepository
Username: myusername 
Password: 
Login Succeeded

当我尝试“标记”它然后推送它时,问题就出现了。

看起来标签名称是某种混合关注点......在远程 docker 存储库和 image:release 之间。 :( 嘘。

如果我这样标记它:

docker tag business-services:latest docker.mycompany.com/repositories/myuserna/business-services:latest

我做 docker images 我看到了这个:

docker images
REPOSITORY                                                     TAG                 IMAGE ID            CREATED             SIZE
business-services                                              latest              aaaaaaaaaaaa        3 hours ago         120MB

docker.mycompany.com/myusername/myrepository/business-services   latest              aaaaaaaaaaaa        3 hours ago         120MB

openjdk                                                        8-jdk-alpine        04060a9dfc39        2 weeks ago         103MB

然后尝试像这样推送它

docker push docker.mycompany.com/myusername/myrepository/business-services
The push refers to repository [docker.mycompany.com/myusername/myrepository/business-services]

denied: requested access to the resource is denied

所以它混淆了存储库名称

我也是这样做的,只是为了确保

 docker push docker.mycompany.com/myusername/myrepository/business-services:latest
The push refers to repository [docker.mycompany.com/myusername/myrepository/business-services]

denied: requested access to the resource is denied

同样的错误:(

然后我尝试了这个:

docker tag business-services:latest docker.mycompany.com/business-services:latest

 docker push docker.mycompany.com/business-services:latest
The push refers to repository [docker.mycompany.com/business-services]

denied: requested access to the resource is denied

这不起作用,因为我没有在值中提供 myuser/myrepository。

呸呸呸

远程 url 和容器名称的这种“混合”让我抓狂。

在尝试找出字符串 voodoo 时,我收到了这个错误:

The push refers to a repository 
An image does not exist locally with the tag:

推送到类似 url 名称的魔法酱是什么

docker.mycompany.com/myusername/myrepository

谁想出了将目标存储库与图像名称 voodoo 混合的方法?

或者我完全不知道如何将某些东西推送到公司内部的 docker 存储库

研究我在下面找到的东西:

https://docs.docker.com/engine/reference/commandline/push/#examples

现在,使用图像 ID 将图像推送到注册表。在这个 例如,注册表位于名为 registry-host 的主机上并正在侦听 端口 5000。为此,请使用主机名或 IP 地址标记图像, 和注册表的端口:

$ docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd

$ docker push registry-host:5000/myadmin/rhel-httpd

是的,我对此进行了研究,因此我的旅程走到了这一步。

码头工人--版本 Docker 版本 18.09.0,构建 4d60db4

谢谢!!

追加

我遵循了这些说明:

http://karlcode.owtelse.com/blog/2017/01/25/push-a-docker-image-to-personal-repository/

在“推送到您的私有存储库”区域下。

同样的错误。找不到网址

docker tag business-services docker.mycompany.com/myusername/myrepository/business-services:latest
docker push docker.mycompany.com/myusername/myrepository/business-services:latest
The push refers to repository [docker.mycompany.com/myusername/myrepository/business-services]

denied: requested access to the resource is denied

【问题讨论】:

  • 我会问谁给你那个存储库 URL 如何使用它;它不遵循任何特定的标准。

标签: docker


【解决方案1】:

您还有来自此存储库的任何其他图像吗?检查标签并使您的标签相似。无论如何,这是你公司内部的,它可以以不同的方式进行配置,最好问问支持这个 repo 的内部人员。另外,请他们检查您的权限。 例如,在我的情况下,类似于artifactory.company.com:10001/myusername/virtualreponame/imagename:latest 但在你的情况下,它可能完全不同

【讨论】:

  • 不幸的是,这是我第一次尝试使用它。这是我的”。和新的。我看看能不能找到一些文档。
  • 它是 docker 的直接(本地)版本。 Docker 可信注册表 2.5.3
  • vvchik,你的例子......只是在我的场景中不起作用。我(和你一样)觉得应该。赞成提出至少给出另一个例子(并试图提供帮助)的建议。未来的读者现在至少有两个选择(你的和我最近的答案)。谢谢。
【解决方案2】:

所以我终于让它工作了

码头工人标签业务服务 docker.mycompany.com/myusername/business-services:最新

docker push docker.mycompany.com/myusername/business-services:latest

它看起来像“短名称”(在本例中为“business-services”)...~变成~存储库名称。或者类似的东西。

并且 docker 受信任存储库上的存储库显示为:

https://docker.mycompany.com/repositories/myusername/business-services

无论如何。现在看起来很傻。我希望这对将来的某人有所帮助。

【讨论】:

  • gaaaaaaa,我讨厌标记自己的 awswer,但在这种情况下......这是我开始使用的语法糖。
猜你喜欢
  • 1970-01-01
  • 2021-01-20
  • 1970-01-01
  • 2021-04-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 2018-10-29
相关资源
最近更新 更多