JKn*_*ght 54 docker docker-registry
我正在尝试将我的docker镜像推入公共docker注册表:
$ docker login
Username (binarybana):
WARNING: login credentials saved in /home/jknight/.dockercfg.
Login Succeeded
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
binarybana/dev-fedora latest 10c7881fbaca 24 hours ago 1.148 GB
binarybana/fedoradev latest 10c7881fbaca 24 hours ago 1.148 GB
binarybana/fedora-dev latest 10c7881fbaca 24 hours ago 1.148 GB
<none> <none> b44397dc4c99 24 hours ago 1.148 GB
<none> <none> a98c27ba4738 24 hours ago 1.141 GB
<none> <none> 775c74a34add 24 hours ago 1.141 GB
<none> <none> 2be2491d2354 24 hours ago 1.141 GB
docker.io/fedora 21 93be8052dfb8 7 days ago 241.3 MB
$ docker push binarybana/dev-fedora
Do you really want to push to public registry? [Y/n]: Y
The push refers to a repository [docker.io/binarybana/dev-fedora] (len: 0)
FATA[0001] Repository does not exist: docker.io/binarybana/dev-fedora
$ docker push binarybana/fedora-dev
Do you really want to push to public registry? [Y/n]: Y
The push refers to a repository [docker.io/binarybana/fedora-dev] (len: 0)
FATA[0002] Repository does not exist: docker.io/binarybana/fedora-dev
Run Code Online (Sandbox Code Playgroud)
然而,我已经创建了存储库(可在此处查看).我还试图推送到我尚未创建的存储库名称(上例中的第一次尝试).
我认为(len:0)与它有关,但我不能谷歌.我最初也是从dockerfile创建的图像:
docker build -t binarybana/fedora-dev .
Run Code Online (Sandbox Code Playgroud)
谢谢.
Mah*_*tam 127
始终使用"用户名"和"标记"构建您的图像
docker build -t <username>/dev-fedora:latest .
建立后推动图像
docker push <username>/dev-fedora:latest
San*_*dhe 20
如果你使用docker.io(dockerhub repo),你需要标记它,包括名称docker.io.
docker tag ${image_id} docker.io/${login_name}/${image_name}
Run Code Online (Sandbox Code Playgroud)
然后
docker push docker.io/${login_name}/${image_name} is OK
Run Code Online (Sandbox Code Playgroud)
如果您使用的是亚马逊AWS,则在将Docker映像推送到Amazon ECR之前,您需要创建一个存储库以存储它们.您可以使用AWS管理控制台或AWS CLI和AWS开发工具包创建Amazon ECR存储库.
创建存储库
1.)通过以下网址打开Amazon ECS控制台:https://console.aws.amazon.com/ecs/.
2.)在导航栏中,选择要在其中创建存储库的区域.
3.)在"存储库"页面上,选择"创建存储库".
4.)对于存储库名称,输入存储库的唯一名称,然后选择下一步.
5.)现在您应该能够推送到您的AWS回购!
Repository does not exist: gcr.io/my-project-id/my-container
尝试将图像推送到Google容器注册表时,我也遇到了此错误.
我的困惑来自于对Docker对"存储库"的定义的误解.
存储库是一组Docker镜像.可以通过将存储库推送到注册表服务器来共享存储库.可以使用标记标记存储库中的不同图像.
当Docker说存储库不存在时,意味着没有可以在本地找到的用该组合标记的图像registry.host/user-name/image-name
.
注意:Docker Hub注册表是默认设置,因此如果您在那里推送,则可以省略该部分.
解决此问题的步骤:
仔细检查您在本地可用的图像.
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
gcr.io/my-proj/my-typo v1 40c2ae2dedb8 2 days ago 427.8 MB
Run Code Online (Sandbox Code Playgroud)如果有拼写错误,您可以运行docker tag
命令来修复它.
$ docker tag gcr.io/my-proj/my-typo:v1 gcr.io/my-proj/my-cntr:v1
Run Code Online (Sandbox Code Playgroud)现在,您应该能够使用完整名称(包括标记)来推送图像.
$ docker push gcr.io/my-proj/my-cntr:v1
Run Code Online (Sandbox Code Playgroud)
注意:如果您要推送到Google容器注册表,请使用gcloud docker -- push
而不是docker push
.
归档时间: |
|
查看次数: |
64159 次 |
最近记录: |