거부됨: 요청된 리소스 액세스가 거부됨: 도커
저는 이 링크를 따라 첫 번째 도커 이미지를 생성하고 성공적으로 진행되었으며 이제 이 링크에서 이 이미지를 도커 저장소로 밀어넣으려고 합니다.그러나 이 이미지를 리포지토리에 밀어넣으려고 할 때마다 이런 유형의 오류가 발생합니다.
denied: requested access to the resource is denied
참고: 도커에 성공적으로 로그인했습니다.
도커를 누르기 전에 도커 보고서를 비공개로 전환해야 할 수도 있습니다.
Dean Wu가 제공한 답변과 ses의 이 의견 덕분에, 푸시하기 전에 로그아웃하는 것을 기억하고, 명령줄에서 도커 허브 계정으로 로그인하십시오.
# you may need log out first `docker logout` ref. https://stackoverflow.com/a/53835882/248616
docker login
문서에 따르면:
You need to include the namespace for Docker Hub to associate it with your account.
The namespace is the same as your Docker Hub account name.
You need to rename the image to YOUR_DOCKERHUB_NAME/docker-whale.
따라서 다음을 누르기 전에 이미지에 태그를 지정해야 합니다.
docker tag firstimage YOUR_DOCKERHUB_NAME/firstimage
그러면 당신은 그것을 밀 수 있을 것입니다.
docker push YOUR_DOCKERHUB_NAME/firstimage
저도 같은 문제가 있었지만, 여기서 수락된 답변은 저에게 효과가 없었습니다.저는 몇 걸음 걸었고 마침내 그것을 밀 수 있었습니다.
다음은 제가 수행한 단계입니다.
도커에 로그인합니다.
docker login -u darlin
이미지 빌드 태그 지정
여기 내 이미지 이름은 로컬 이미지이며 기본적으로 최신 태그가 있습니다.
그리고 제 사용자 이름은 도커 클라우드에 등록된 darlin이고 도커 허브라는 공공 저장소를 만들었습니다.
그래서 나의 개인 저장소는 이제 darlin/dockerhub가 되고 나는 태그로 내 이미지를 푸시하고 싶습니다.myfirstimagepush
.
아래와 같이 태그했습니다.
docker tag mylocalimage:latest darlin/dockerhub:myfirstimagepush
아래와 같이 이미지를 개인 도커 리포지토리에 푸시했습니다.
docker push darlin/dockerhub:myfirstimagepush
그리고 그것은 성공적으로 제 개인 도커 레포로 밀려났습니다.
도커 초급 과정을 수강하다가 같은 문제가 생겼습니다.저는 이 문제를 해결했습니다.docker login
도커 푸시 콜 전에.
아래 명령 사용:
$ docker login
<enter user name and password for Docker Hub Repository>
$ docker tag first-image {docker-hub-username}/{default-repo-folder-name}:first-image
$ docker push {docker-hub-username}/{default-repo-folder-name}:first-image
예를 들어 Manjeet86/docker-repos와 같은 공용 저장소가 있으므로 명령은 다음과 같습니다.
$ docker tag first-image manjeet86/docker-repo:first-image
$ docker push manjeet86/docker-repo:first-image
보기만 해도 돼요:
에 /
그게 비결이었습니다.저한테는 효과가 있어요.당신이 그것으로 태그할 수 있는지 모르겠습니다./
을대하여신 .:
하지만 그건 다른 목적일 수도 있어요
https://docs.docker.com/engine/reference/commandline/tag/ #http://examples
또한 중요한 점은 이미지에 태그를 지정할 때 네임스페이스를 사용한 다음 리포지토리 /mydevrepo를 사용하여 태그를 지정한다는 것입니다.이것은 도커 문서를 따를 때 저를 혼란스럽게 했습니다.그 후 다음을 사용했습니다.
docker login
그런 다음 '태그가 붙은 이름'을 사용하여 이미지를 밀어 넣었습니다.
docker push {namespace}/mydevrepo
다음은 2018년 1월 기준 해결 방법입니다.
에 가다
hub.docker.com
저장소로 합니다.셸에서 실행:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE verse_gapminder_gsl latest 023ab91c6291 3 minutes ago 1.975 GB verse_gapminder latest bb38976d03cf 13 minutes ago 1.955 GB rocker/verse latest 0168d115f220 3 days ago 1.954 GB
docker tag bb38976d03cf dockhubusername/verse_gapminder:mytag
docker login docker.io
docker push dockhubusername/verse_gapminder:mytag
도커 허브로 돌아가서 리포지토리를 다시 공용으로 변경합니다.
이미지 태그를 지정할 때 도커 허브 이름을 사용했을 때 효과가 있었습니다.(여기서 xyz는 도커 허브 이름입니다.)
# Login to docker hub account
docker login
# tag image
docker tag nginx xyz/nginx
# push image
docker push xyz/nginx
이 , 에 있는 을 테스트했지만,. 저도 에 따르면,는 제대로 로그인했습니다. 저는 여기에 있는 솔루션을 테스트했지만, 소용이 없었습니다. 적어도 출력에 따르면, 저는 제대로 로그인했습니다.docker login
하지만 여전히 이미지를 누를 수 없었습니다.결국 효과가 있었던 것은 다음과 같습니다.
docker logout
그리고 나서.docker login
다시 말하지만, 그것은 아주 사소한 것이었습니다.무슨 일이 있었는지는 모르겠지만 재로그인을 강요하는 것이 효과가 있었습니다.
저는 같은 문제에 직면하고 있었습니다. 저는 제 이미지 이름을 다음과 같이 지정했습니다.something/image-name
하지만 대신에 저는 시도했습니다.<docker-hub-username>/image-name
그리고 그것은 매력적으로 작용했습니다.
1단계
docker login --username=jp9573
2단계
docker push jp9573/todo
아까 내가 주던jaypatel/todo
저는 방금 그것을 그것으로 바꿨습니다.username/image
ㅠㅠ. 를 붙이거나 이렇게 하면 이미지나 다른 태그를 달 필요가 없습니다.저는 그것이 신인에게 좋은 방법이라고 생각합니다.
오늘도 같은 문제가 있었습니다.제게 유일하게 효과가 있었던 것은 "docker.io "에 명시적으로 로그인하는 것이었습니다.
docker login docker.io
다른 여러 이름을 시도했는데 로그인이 작동하는 것처럼 보이지만 나중에 다음과 같은 오류가 발생합니다.
리소스에 대한 요청된 액세스가 거부되었습니다.
이미지 이름에 잘못된 문자(추가 /)를 사용하는 것이 문제였습니다.
myusername/something/image
잘못된 이미지 이름입니다.내 사용자 이름/어떤 이미지를 사용해 보십시오.이것이 누군가에게 도움이 되기를 바랍니다.
도커에는 또한 사용자가 가질 수 있는 개인 리포지토리의 수에 제한이 있습니다.로컬 컴퓨터에서 밀어넣어 개인 저장소를 만드는 경우 저장소는 생성되지만 추가로 밀어넣거나 끌어낼 수 있는 항목은 없으며 "리소스에 대한 요청된 액세스가 거부됨" 오류가 표시됩니다.
도커가 사용자 ID 및 리포지토리를 처리하는 방식은 다소 혼란스러울 수 있습니다.도커 허브에 xyz 사용자 계정을 생성한다고 가정합니다.합니다.xyz
그런 다음 myrepo라는 저장소를 만듭니다.는 리지토이실다같음습다니과제로름리은포▁actually다같▁the니▁will▁be입니다.xyz/myrepo
.
이미지를 푸시하려면 다음 작업을 수행해야 합니다.
docker push docker.io/xyz/myrepo
필요한 경우 ":latest" 또는 다른 태그를 추가할 수 있습니다.
만약 당신이 그것을 얻는다면.requested access to the resource is denied
오류 메시지:
- https://hub.docker.com/ 으로 이동하여 xyz로 로그인합니다.
- 리포지토리 xyz/myrepo를 클릭합니다.
- 공동작업자를 클릭합니다.
- 공동작업자로 xyz를 추가합니다.
운영 체제: 우분투 16.04
이유: 클라이언트 구성 파일(~/.docker/config.json)을 삭제했습니다.
솔루션:
- 도커를 다시 시작합니다.
서비스 도커를 다시 시작합니다. - 로그인 정보를 입력한 다음 구성 파일을 자동으로 생성해야 합니다.
--docker@company.com 에서 --docker=yourdockerhubname --email=youremail@company.com
네, 당황스러울 수도 있지만, 이 문제에 대한 명확한 문서가 전혀 없는 것 같습니다. 저는 방금 개인 저장소로 도커 프로에 등록했습니다.개인 리포지토리를 만든 다음 밀어넣기를 시도했습니다.무서운 "거부" 메시지를 받았습니다.
공용 저장소에 푸시하는 작업이 제대로 수행되어 로그인이 정확하다는 것을 알았습니다.
이전 30개 답변에서 도커 허브와 관련된 모든 것을 시도한 후...개인 저장소가 어떻게 작동하는지 마침내 이해했습니다. 공용 저장소와 동일하지만 추가 단계가 있습니다.
Docker Hub 계정 내의 모든 리포지토리에 푸시할 때 사용자 이름 앞에 다음과 같은 접두사를 붙여야 합니다.
다음 값이 주어지면,
username = your username 이자 = 사이름자 ▁username
name = name = 이지미
= tag = 태태
로컬 이미지에 태그를 지정하거나 사용자 이름으로 접두사를 추가합니다.
docker tag theimage:thetag yourusername/theimage:thetag
참고:
- 조직에 있는 경우 이미지 앞에 두 번 접두사를 붙여야 합니다.
docker tag theimage:thetag yourusername/yourorganizationname/theimage:thetag
- 만약 당신의 꼬리표가
latest
,:thetag
부품을 생략할 수 있습니다. 도커는 다음과 같이 가정합니다.:latest
을:thetag
접두사 이미지를 도커 허브에 푸시:
docker push yourusername/theimage:thetag
OR
docker push yourusername/yourorganizationname/theimage:thetag
추가 단계:
어느 하나
위의 1단계 전에 Docker Hub 계정에 개인 리포지토리를 만듭니다.
은 " ▁be▁as▁note▁same▁must▁the같야아▁name▁repos▁theitory▁that리"와 동일해야 합니다.theimage
당신이 추진할 계획이라는 것.포함 안 함thetag
저장소 이름의 일부입니다.예, 당신의 이미지가ubuntu:14.04
저장소 이름을 지정합니다.ubuntu
.
또는
저장소를 미리 만들지 않은 경우(필요하지 않음!), Docker Hub에 있는 계정으로 이동하여 새로 푸시된 repo를 클릭한 다음 Settings 탭을 클릭하여 개인 저장소로 만듭니다.
개인 저장소를 가진 다른 사람들이 두 개의 접두사로 태그를 지정하는 것을 보았습니다.xyz/abc/theimage:thetag
두 번째 접두사는 리포를 비공개로 표시하기 위해 만든 것이라고 생각했습니다.아니요 - 조직에만 해당됩니다.하고 내 을 그냥 두번째접제로 theimage
내 거부된 오류를 수정했습니다!
다른 참고 사항: 각 repo에는 지정된 repo 이름을 가진 이미지의 태그가 지정된 버전이 모두 저장됩니다.를 들면, 를들어예,,ubuntu:latest
그리고.ubuntu:14.04
말하자면, 둘 다 있을 것입니다.ubuntu
레포의
도커와 함께하는 재미!
이미지 이름을 "vmdk"/"image_name"으로 변경합니다.
Azure Container 레지스트리를 사용하는 동안 이 문제가 발생하면 먼저 레지스트리에 로그인하여 문제를 해결할 수 있습니다.
docker login yourregistry.azurecr.io
그런 다음 레지스트리의 호스트 이름과 일치하도록 이미지에 태그를 지정합니다.
docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]
그리고 마지막으로 밀어냅니다.
docker push yourregistry.azurecr.io/yourimagename:[version]
제 답변은 다음과 같은 공통 파이프라인에서 발생한 Azure DevOps 유사 문제와 관련이 있습니다(구체적이지만 누군가 시간을 절약하는 데 도움이 될 수 있음).
- github에서 소스 가져오기
- 도커 이미지 빌드
- 도커 허브에 도커 이미지 푸시
푸시할 때 받은 오류denied: requested access to the resource is denied
날 여기로 보냈어요
변수에 주의하시기 바랍니다.$(Build.Repository.Name)
이미지 이름에 포함됩니다.이지만, 하려면 "github", "github이 되어야 .dockerhub_account_username/your_dockerhub_repository_name
.
를 바꿉니다.$(Build.Repository.Name)
와 함께dockerhub_account_username/your_dockerhub_repository_name
이미지 이름 필드에서 빌드 및 푸시 단계를 모두 확인할 수 있습니다.
이는 이미지를 푸시할 위치를 알기 위해 도커허브 API에 필요합니다.
다른 계정으로 이미 로그인한 경우 이 문제가 발생할 수 있습니다.이 경우 다음을 수행해야 합니다.
docker logout
그리고 나서.
docker login
자체 Nexus Repository Manager에 이미지를 푸시하려는 사용자는 다음을 수행합니다.
Nexus Repository Manager에 로그인합니다(포트 8443은 특정 Docker 호스트 리포지토리와 연결됨).
sudo docker login xxx.mydomain.com:8443
이미지에 NEXUS SERVER IP/DNS 태그 지정
sudo docker tag myimage:latest xxx.mydomain.com:8443/myimage:1.0.0
이미지 푸시
sudo docker push xxx.mydomain.com:8443/myimage:1.0.0
제가 "사용자 로그인 https://hub.docker.com "을 "사용자 로그인 docker.io "으로 변경하고 사용자 이름과 비밀번호를 제공한 후 작동했습니다.
그런 다음 다음 명령을 따릅니다.
docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname
참고: "new-repo"에는 "Docker ID + Repo name"이 포함됩니다.
아래 명령을 실행하기 전에 도커 허브에 "ubuntu" repo를 만들었습니다.
예:
docker tag alok/ubuntu:latest aloktiwari2007/ubuntu:latest
docker push aloktiwari2007/ubuntu:latest
간단한 작업 솔루션:
여기로 이동https://hub.docker.com/
를 들어 하여 PRIVATE 하려면 다음과 같이 .johnsmith/private-repository
은 이은입니다.NAME/REPOSITORY
이미지를 빌드할 때 이미지에 사용합니다.
첫째번.
docker login
둘째, "를 사용합니다.
docker build -t johnsmith/private-repository:01 .
이미지를 만들기 위해, 그리고 나는 "docker images
(. 수 문자열만 붙여넣습니다.)
johnsmith/private-repository(REPOITORY) 01(TAD) c5f4a2861d6e(이미지 ID) 2일 전(CREATE) 305MB(SIZE)
- 셋째, 저는 사용합니다.
docker push johnsmith/private-repository:01
알았어!
앱에서 로그인합니다.터미널에서만 시도했지만 운이 없었습니다.
이것은 버전 17.06.1입니다.
도커 로그인 후 이미지의 이름을 접두사로 지정해야 합니다.
의 이름이 ": " "-"일 Shah
이미지는 다음과 같아야 합니다.
Shah/firstimage
저도 같은 문제가 있었습니다.저의 경우, index.docker.io 에 로그인하여 이미지를 docker.io/username/image:tag 에 푸시했습니다.
솔루션은 다음 명령을 실행하여 docker.io 에 로그인하는 것입니다.
export CI_REGISTRY=docker.io
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
docker push USERNAME/IMAGE:TAG
출력은 다음과 같습니다.
The push refers to repository [docker.io/USERNAME/IMAGE:TAG] eeb7e16c6369: Preparing 6bd09f46d0ae: Preparing f5a7f7a3fb28: Preparing 07952c1df7f6: Preparing a4522c0d203b: Preparing 3e207b409db3: Preparing 3e207b409db3: Waiting a4522c0d203b: Layer already exists 3e207b409db3: Layer already exists f5a7f7a3fb28: Pushed 6bd09f46d0ae: Pushed 07952c1df7f6: Pushed eeb7e16c6369: Pushed latest: digest: sha256:7ce256fa83ef1eebcaaaa460c4d73f87f2adf304bc6e6c1b83a19d987cd61ad5 size: 1579 Running after_script 00:02 Saving cache 00:01 Uploading artifacts for successful job 00:02 Job succeeded
안부 전해요.
이 질문에 이미 많은 답이 있다는 것을 알지만, 그 중 어느 것도 나에게 도움이 되지 않았습니다.
제가 관찰한 결과 이미지 구축 속도가 매우 빨랐고 docker.io 에 푸시하면 오류가 발생했습니다.
denied: requested access to the resource is denied
내가 또한 주목한 것은 하는 것입니다.
docker image ls
이미지의 최신 빌드가 며칠 전이라는 것이 드러났습니다.
나는 해야만 했습니다.
docker container prune
정지된 컨테이너를 제거하기 위해, 그리고.
docker image prune -a
오래된 이미지를 제거합니다.그러면 저는 제 이미지를 성공적으로 구축하고 밀어낼 수 있었습니다.
'requested access to the resource is denied'는 docker.io 가 아니라 로컬 도커에서 온 것입니다.빌드 중에 실패하지 않는다는 것이 재미있습니다.
이것은 Windows 10에서 작동했습니다.
도커 로그인
도커 파일이 있어야 하며 이미지를 빌드하고 즉시 도커 허브에 푸시해야 합니다.
허브에
sudo docker 로그인 -u your_docker
하세요.
sudo docker build -t your_build/demorepo:1.0
위의_username/demorepo는 도커 허브의 리포이기 때문에 이미지 이름에 대한 언급이 없습니다.태그가 지정된 이름은 1.0입니다.누르기
sudo docker push your_domore/demorepo:1.0
이미 존재하는 이미지를 도커 허브로 푸시하려면 다음과 같이 하십시오.
sudo docker 로그인 -u your_docker
하세요.태그를 ).
sudo docker 태그 test_dumper:1.0 your_dump/demorepo:first push
위에서 first push는 이미지 test_docker에 1.0 태그로 지정된 태그 이름입니다.
: ( 이름이 되지 않음) 파일: (태그 지정 중에는 이미지 이름이언급되지 않음)
이제 도커 이미지에서 하나는 test_docker 1.0이고 다른 하나는 _username/demorepo를 먼저 푸시하는 두 개의 이미지가 나타납니다.누르기 미지푸시이▁push시푸▁the
sudo docker push your_domorepo/demorepo:첫 번째 push
내 사용자 이름으로 태그를 지정해야 했습니다.
docker login
docker tag imageName username/imageName
docker push username/imageName
오직 이것만이 나에게 효과가 있었습니다!
저도 이 문제를 겪고 있습니다.무료 계층을 사용하고 있으며 개인 저장소에 있는 이미지를 두 개 이상 푸시하려고 합니다.하나의 이미지를 비공개로 하고 나머지는 공개하는 것이 저를 위해 일했습니다.
언급URL : https://stackoverflow.com/questions/41984399/denied-requested-access-to-the-resource-is-denied-docker
'programing' 카테고리의 다른 글
MYSQL 표준화 (0) | 2023.08.06 |
---|---|
Android:클릭 가능한 단추가 여러 개 있는 목록 보기 요소 (0) | 2023.08.06 |
파워셸에서 자동 삭제 확인 (0) | 2023.08.06 |
시리즈 및 데이터 프레임 병합 방법 (0) | 2023.08.06 |
인덱싱된 뷰에 MAX() 애그리게이트를 사용할 수 없는 이유는 무엇입니까? (0) | 2023.08.06 |