Docker public registry push терпит неудачу: репозиторий не существует
Я пытаюсь подтолкнуть мое изображение 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
тем не менее, я уже создал репозиторий (viewable здесь). И я также попытался нажать на имена репозиториев, которые я еще не создал (первая попытка в приведенном выше примере).
Я думаю, что (len: 0) имеет к этому какое-то отношение, но я не могу его google. Также я изначально создал изображение из dockerfile как:
docker build -t binarybana/fedora-dev .
спасибо.
5 ответов
всегда создавайте свой образ с помощью "username"и " tag"
docker build -t <username>/dev-fedora:latest .
после построения нажмите изображение
docker push <username>/dev-fedora:latest
Если вы используете docker.io (DockerHub repo), вам нужно пометить его, включая имя docker.io в нем.
docker tag ${image_id} docker.io/${login_name}/${image_name}
а то
docker push docker.io/${login_name}/${image_name} is OK
Я также столкнулся с этой ошибкой Repository does not exist: gcr.io/my-project-id/my-container
при попытке передать изображение Реестр Контейнеров Google.
моя путаница возникла из-за непонимания определения Докером "репозитория".
репозиторий-это набор изображений 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
-
если есть опечатка, вы можете запустить
docker tag
команда, чтобы исправить это.$ docker tag gcr.io/my-proj/my-typo:v1 gcr.io/my-proj/my-cntr:v1
-
теперь вы должны иметь возможность нажать изображение, используя полное имя, включая тег.
$ docker push gcr.io/my-proj/my-cntr:v1
Примечание:
gcloud docker -- push
вместоdocker push
если вы нажимаете на реестр контейнеров Google.
Если вы используете Amazon AWS, перед тем как вы сможете переместить изображения Docker в Amazon ECR, вам необходимо создать репозиторий для их хранения. Репозитории Amazon ECR можно создавать с помощью консоли управления AWS или AWS CLI и AWS SDK.
для создания репозитория
1.) Откройте консоль Amazon ECS по адресуhttps://console.aws.amazon.com/ecs/.
2.) На панели навигации выберите регион для создания в репозитории.
3.) На странице репозитории выберите создать репозиторий.
4.) В поле имя репозитория введите уникальное имя репозитория и выберите следующий шаг.
5.) Теперь вы должны иметь возможность нажать на AWS repo!
вам нужно использовать полное имя изображения. Когда вы не указываете тег во время построения, это latest
, Так что вы должны сказать
docker push binarybana/fedora-dev:latest