programing

풀 액세스 거부 저장소가 없거나 도커 로그인이 필요할 수 있습니다.

coolbiz 2023. 9. 7. 22:12
반응형

풀 액세스 거부 저장소가 없거나 도커 로그인이 필요할 수 있습니다.

저는 도커와 함께 라라벨 4.2를 사용하고 있습니다.로컬로 설정했습니다.문제없이 작동했지만 동일한 절차를 사용하여 온라인으로 설정하려고 하면 오류가 발생합니다.

pull access denied for <projectname>/php, repository does not exist or may require 'docker login'

여기 https://cloud.docker.com/ 에서 저장소를 만드는 것과 관련된 것입니까, 아니면 명령으로 로그인하는 것이 필요합니까?

며칠 동안 공부한 후에도 저는 이 경우에 무엇이 해결책이 될 수 있는지 그리고 올바른 조치는 무엇인지 아직도 파악하지 못하고 있습니다.

완전한 코드를 갖고 있습니다.어떤 부분을 확인할 필요가 있다면 여기 붙여넣을 수 있습니다.

도커에서 보낸 에러 메시지는 오해의 소지가 있음을 유의하시기 바랍니다.

$ docker build deploy/.
Sending build context to Docker daemon  5.632kB
Step 1/16 : FROM rhel7:latest
pull access denied for rhel7, repository does not exist or may require 'docker login'

'도커 로그인' 필요할 도 있다고 합니다.나는 이것 때문에 고생했습니다.저는 이미지가 더 이상 https://hub.docker.com 에 존재하지 않는다는 것을 깨달았습니다.

도커 이름만 제대로 써주세요!

제 경우에는 다음과 같이 적었습니다. (추가 'u'를 주목하십시오.)

FROM ubunutu:16.04

올바른 도커 이름은 다음과 같습니다.

FROM ubuntu:16.04

보통 이미지 이름을 잘못 입력했을 때 메시지가 나타납니다.당신의 이미지가 도커 저장소에 정확한 태그로 존재하는지 확인 부탁드립니다.도움이 됐어요.

docker run -d -p 80:80 --name ngnix ngnix:latest
Unable to find image 'ngnix:latest' locally
docker: Error response from daemon: pull access denied for ngnix, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
$ docker run -d -p 80:80 --name nginx nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx

저도 같은 문제가 있었습니다.제 경우에는 개인 등록부였어요.그래서 여기 있는 것처럼 비밀을 만들어야 했습니다.

그런 다음 아래와 같이 deployment.jpl 파일에 image pull secret을 추가해야 합니다.

pods/private-reg-pod.yaml  
apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred

2020년 11월 이후

이 오류가 새로운 것이고 도커 허브에서 끌어오기가 과거에 작동한 경우, 도커 허브는 2020년 11월에 요금 제한을 도입했습니다.

다음과 같은 메시지가 자주 나타납니다.

경고:도커 허브에서 꺼내기를 위해 CircleCI 자격 증명을 사용하는 인증이 제공되지 않았습니다.

Circle CI 및 도커 허브를 사용하는 기타 유사한 도구.또는:

데몬의 오류 응답: cimg/mongo에 대한 풀 액세스 거부, 리포지토리가 없거나 'docker 로그인'이 필요할 수 있음: 거부: 요청된 리소스 액세스 거부

이미지를 가져오는 데 사용되는 자격 증명을 지정해야 합니다.

Circle CI 사용자의 경우:

      - image: circleci/mongo:4.4.2

        # Needed to pull down Mongo images from Docker hub
        # Get from https://hub.docker.com/
        # Set up at https://app.circleci.com/pipelines/github/org/sapp
        auth:
          username: $DOCKERHUB_USERNAME
          password: $DOCKERHUB_PASSWORD

도커 이미지 앞에 언어를 삽입해서 해결했습니다.

비단뱀으로부터:3.7-알파인

저도 같은 문제가 있었습니다.

pull access denied for microsoft/mmsql-server-linux, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

도커 허브가 다른 이름으로 이동한 것으로 드러났습니다. 그래서 도커 허브를 다시 체크인하는 것을 제안합니다.

제 경우에는 현지 기계에서 미니큐브에 구운 맞춤형 이미지와 도커를 사용하고 있었습니다.

끌어오기 정책을 잘못 지정했습니다:-

imagePullPolicy: Always

하지만 그랬어야 합니다.

imagePullPolicy: IfNotPresent

사용자 지정 이미지는 미니큐브 도커 환경에서 명시적으로 구축한 후에만 로컬에서 제공되었기 때문입니다.

저는 같은 오류 메시지를 받았는데 전혀 다른 이유로 메시지를 받았습니다.

도커를 처음 접하게 되면서

도커 런 - it <crypticalId>

여기서 <crypticalId>는 새로 만든 컨테이너의 ID였습니다.

그러나 run 명령어는 컨테이너가 아닌 이미지의 ID를 원합니다.

컨테이너를 시작하려면 도커가 원하는

도커 시작 -i <crypticalId>

도커 작곡가와 작업할 때도 같은 문제가 있었습니다.저의 경우 아마존 AWS ECR 개인 레지스트리였습니다.도커 컴포지트에 버그가 있는 것 같습니다.

https://github.com/docker/compose/issues/1622#issuecomment-162988389

도커에 전체 경로 "myrepo/my image"를 추가한 후 yaml을 작성합니다.

이미지 : xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/myrepo:myimage

다 괜찮았습니다.

첫 번째 이미지에서 실수로 AS 태그를 제거했기 때문에 이 문제가 발생했습니다.

ex:

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...

다음과 같았어야 했습니다.

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64 AS installer
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...

도커가 인증 데이터를 분실했을 수 있습니다.따라서 레지스트리 공급자에게 다시 인증해야 합니다.예를 들어 AWS의 경우:

aws ecr get-login --region us-west-2 --no-include-email

그런 다음에 "도커 로그인"을 복사해서 붙여넣습니다.." 인증된 도커에게.

출처: Amazon ECR 레지스트리

이 오류 메시지는 다른 것을 나타낼 수 있습니다.

했습니다( 에는 가 을 했습니다 를 했습니다 를 에는 ( )docker-compos.yml):

FROM my_own_image:latest

내가 받은 오류 메시지:

qohelet$ docker-compose up
Building web
Step 1/22 : FROM my_own_image:latest
ERROR: Service 'web' failed to build: pull access denied for my_own_image, repository does not exist or may require 'docker login'

재설치로 인해 이전 도커가 사라졌고 다음을 사용하여 도커를 만들 수 없었습니다.docker-compose up다음 명령을 사용합니다.

sudo docker build -t my_own_image:latest -f MyOwnImage.Dockerfile .

특정한 경우에는 자신의 php-docker를 정의했을 수도 있습니다.

리포지토리가 비공개인 경우에는 이를 다운로드할 수 있는 권한을 할당해야 합니다.docker login 명령을 사용하거나 로그인할 때 생성된 파일을 ~/.docker/docker.config에 입력하는 두 가지 옵션이 있습니다.

도커 빌드 프로세스에 두 단계 이상의 단계가 있는 경우 이 솔루션을 읽어 보십시오. 이 오류 메시지는 완전히 오해의 소지가 있습니다.

2단계 도커 파일이 있고 첫 번째 단계에서 두 번째 단계로 일부 데이터를 복사하려면 첫 번째 컨텍스트(ex: build)에 레이블을 지정하고 해당 레이블로 액세스해야 합니다.

#stage(1)
from <image> as build 
.
.
#stage(2)
From <image>
copy --from=build /sourceDir  /distinationDir

자신의 레지스트리나 도커 허브가 아닌 다른 곳에서 다운로드하는 경우에는 Oracle의 도커 레지스트리처럼 해당 사이트에서 별도의 조건 합의를 수행해야 할 수도 있습니다.도커 로그인을 잘 할 수 있게 해주지만, 그들의 사이트에 가서 그들의 조건에 동의할 때까지 컨테이너를 끌어 올리는 것은 여전히 작동하지 않습니다.

를 합니다.image도커 허브에 존재합니다.저는 명령어를 사용해서 몽고DB를 끌어내려고 했습니다.docker run mongodb. 은 ④ 이름이미지 허브에서mongo.

로컬에 해당 이름의 이미지가 없는 경우 도커는 도커 허브에서 해당 이미지를 가져오려고 시도하지만 도커 허브에는 해당 이미지가 없습니다.아니면 그냥 "docker login"을 시도해보세요.

여러 개의 도커 파일을 사용하는 경우 모든 파일에 대해 빌드를 실행하는 것을 잊지 말아야 합니다.그건 제 경우에요.

저는 먼저 도커를 당기고, 다시 도커를 추스르고 나서 작동했습니다.

docker pull index.docker.io/youruser/yourrepo:latest

이 파일을 도커 컴포지트.yml 파일에서 사용해 보십시오.

image: php:rc-zts-alpine

도커 허브의 사용 가능한 저장소 제한을 초과했습니다.

처음 실행했음에도 불구하고:

docker login -u <dockerhub uname>

그리고 "Login Successful"이 반환되었는데, 이 질문에서 오류를 받았습니다.

Settings > Visibility Settings의 webgui에서 다음과 같이 말했습니다.

개인 저장소 1개 중 2개를 사용합니다.

도커 허브의 무료 계정 한도를 초과했다는 것을 알려줬습니다.그러나 이전 이미지를 제거해도 오류가 해결되지 않았습니다.

수정사항:

사실 제 경우 오류 메시지는 레드 청어였습니다. 인증 문제와 관련된 것은 아닙니다.

허용된 제한을 초과하는 이미지만 삭제해도 오류가 해결되지 않았습니다!

오류를 해결하려면 FREE Docker Hub 계정의 모든 이미지를 삭제한 다음 이미지를 계정에 푸시하는 새 빌드를 실행해야 합니다.

당신의.pull이제 명령이 성공합니다.

개인 레포용.

이 패튼을 사용합니다.username/image:tag

예를들어, 로히티니시애드613은 나의 도커 사용자 이름입니다.

rohitnishad/some-app:latest

Power shell에서 "docker pull scraping hub/splash" 명령을 여러 번 실행하면 문제가 해결됩니다.

이름 문제로 인해 AWS EC2 및 ECR에서 발생한 경우(초보자의 경우 발생!)

데몬의 오류 응답: my-app에 대한 풀 액세스 거부, 리포지토리가 없거나 'docker 로그인'이 필요할 수 있음: 거부: 요청된 리소스 액세스 거부

도커 풀을 사용할 때 이미지의 Image URI를 사용합니다. ECR 행 자체에서 Copy URI로 사용할 수 있습니다.

docker pull Image_URI

저는 이 메시지를 보고 도커 인증에 뭔가 문제가 있다고 생각했습니다.하지만 도커는 무료 요금제당 개인 저장소를 1개만 허용한다는 것을 깨달았습니다.따라서 계획을 업그레이드하지 않았기 때문에 개인 저장소를 꺼내어 이 오류를 확인하려고 할 가능성이 높습니다.

같은 문제가 발생했지만 아무 것도 작동하지 않았습니다.도망쳐야 한다는 걸 알았어요.sh(.ps1)을(를) 하기 전에 먼저 스크립트를 작성합니다.docker-compose.

그래서 저는 다음과 같은 파일을 가지고 있습니다.

   docker-compose.yml
   
   docker-build.sh
   
   docker-build.ps1
   
   Dockerfile

그리고 나는 먼저 뛰어야 했습니다.docker-build.sh유닉스(Mac) 머신 또는docker-build.ps1Windows에서:

sh docker-build.sh

그것은 나의 경우에 이미지를 만들어 줄 것입니다.이미지가 작성된 후에야 다음을 실행할 수 있습니다.

docker-compose up --build

참고로.이것은 나의docker-compose파일:

version: '3.8'

services:

  api-service:
    image: x86_64/prediction-service:0.8.1
    container_name: api-service
    expose:
      - 8060
    ports:
      - "8060:80"    

그리고 여기.docker-build.sh:

VERSION="0.8.1"
ARCH="x86_64"
APP="prediction-service"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
docker build -f $DIR/Dockerfile -t $ARCH/$APP:$VERSION .

도커 파일에서 nginx에서 nignx로 철자를 잘못 적었습니다.

제 경우 해결책은 비주얼 스튜디오를 통해 도커 파일을 다시 만드는 것이었고 모든 것이 완벽하게 작동했습니다.

저도 같은 이슈를 들었습니다.로그인으로 해결했습니다.

docker login -u your_user_name

그리고 도커 허브 비밀번호를 입력하라는 메시지가 표시되었습니다. 로그인 성공 후 나머지 명령어가 완벽하게 작동합니다.

언급URL : https://stackoverflow.com/questions/48719921/pull-access-denied-repository-does-not-exist-or-may-require-docker-login

반응형