我有一个内部公司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
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。
Gaaaaaaaaaaaaa
远程URL和容器名称的这种“混合”使我发疯。
在尝试找出字符串voodoo的某个时刻,我遇到了此错误:
The push refers to a repository
An image does not exist locally with the tag:
将网址名称推送为
的神奇之处在于docker.mycompany.com/myusername/myrepository
谁提出了这个目标,将目标存储库与图像名voodoo混在一起?
或者我是否完全将有关如何将某些内容推送到公司内部docker存储库中的信息
我在下面找到的RESEARCH内容:
https://docs.docker.com/engine/reference/commandline/push/#examples
现在,使用映像ID将映像推送到注册表。在这 示例注册表在名为registry-host的主机上,并在 端口5000。为此,请使用主机名或IP地址标记映像, 和注册表的端口:
$ docker标签rhel-httpd Registry-host:5000 / myadmin / rhel-httpd
$ docker push注册表主机:5000 / myadmin / rhel-httpd
是的,我已经对此进行了研究,因此我如何在旅途中走得更远。
docker --version 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
答案 0 :(得分:1)
此存储库中还有其他图像吗?检查标签并使其相似。无论如何,这是您公司的内部结构,可以用不同的方式进行配置,最好征询支持此回购协议的内部人员。另外,请他们检查您的权限。
例如,在我的情况下,类似artifactory.company.com:10001/myusername/virtualreponame/imagename:latest
但您的情况可能完全不同
答案 1 :(得分:0)
所以我终于让它起作用了
docker tag商业服务 docker.mycompany.com/myusername/business-services:latest
docker push docker.mycompany.com/myusername/business-services:latest
它看起来像“短名称”(在本例中为“业务服务”)...〜成为〜存储库名称。或类似的东西。
,泊坞窗受信任存储库上的存储库显示为:
https://docker.mycompany.com/repositories/myusername/business-services
无论如何。现在看起来很傻。希望以后对您有所帮助。