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