Подтвердить что ты не робот

Ошибка публичного реестра 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 

Тем не менее, я уже создал репозиторий (видимый здесь). И я также попытался нажать на имена репозитория, которые я еще не создал (первая попытка в примере выше).

Я думаю, что (len: 0) имеет к этому какое-то отношение, но я не могу это сделать. Также я изначально создал изображение из файла docker как:

docker build -t binarybana/fedora-dev .

Спасибо.

4b9b3361

Ответ 1

Всегда создавайте свое изображение с помощью "имени пользователя" и "тега"

docker build -t <username>/dev-fedora:latest .

После сборки нажмите изображение

docker push <username>/dev-fedora:latest

Ответ 2

Если вы используете 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

Ответ 3

Я также столкнулся с этой ошибкой Repository does not exist: gcr.io/my-project-id/my-container при попытке нажать изображение Google Container Registry.

Моя путаница возникла из-за непонимания определения Docker "репозитория".

Репозиторий - это набор изображений Docker. Репозиторий можно разделить, нажав его на сервер реестра. Различные изображения в репозитории могут быть помечены с помощью тегов.

Когда Docker говорит, что репозиторий не существует, это означает, что нет изображения, которое он может найти локально, tagged с этим 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 Container.

Ответ 4

Если вы используете Amazon AWS, прежде чем вы сможете подтолкнуть изображения Docker к Amazon ECR, вам необходимо создать хранилище для их хранения. Вы можете создать репозитории Amazon ECR с помощью консоли управления AWS или с помощью CLI AWS и AWS SDK.

Чтобы создать репозиторий

1.) Откройте консоль ECS Amazon в https://console.aws.amazon.com/ecs/.

2.) На панели навигации выберите регион для создания своего репозитория.

3.) На странице "Хранилища" выберите "Создать репозиторий".

4.) Для имени репозитория введите уникальное имя для своего репозитория и выберите "Следующий шаг".

5.) Теперь вы можете нажать на свой репортаж AWS!

Ответ 5

Вам нужно использовать полное имя изображения. Когда вы не укажете тег при построении, он latest, поэтому вы должны сказать

docker push binarybana/fedora-dev:latest