bị từ chối: quyền truy cập được yêu cầu vào tài nguyên bị từ chối: docker


372

Tôi đang theo liên kết này để tạo Hình ảnh docker đầu tiên của tôi và nó đã thành công và bây giờ tôi đang cố gắng đẩy Hình ảnh này vào kho lưu trữ docker của mình từ liên kết này . Nhưng bất cứ khi nào tôi đang cố gắng đẩy Hình ảnh này vào kho lưu trữ, tôi đã gặp loại lỗi này.

denied: requested access to the resource is denied

nhập mô tả hình ảnh ở đây

Bất cứ ai có thể cho tôi một số gợi ý về vấn đề này? Bất kỳ trợ giúp sẽ đánh giá cao.

Lưu ý: Tôi đã đăng nhập thành công vào docker


Đảm bảo bạn không mắc lỗi này: stackoverflow.com/a/59626146/4954434
Jithin Pavithran

Hãy chắc chắn rằng bạn xác nhận email của bạn. Nếu bạn đang nghĩ ai sẽ làm điều ngu ngốc như vậy, tôi đã không xác nhận email của mình trước khi đẩy.
Luv33preet

Câu trả lời:


551

Bạn có thể cần phải chuyển repo docker của mình sang chế độ riêng tư trước khi đẩy docker.

Nhờ câu trả lời được cung cấp bởi Dean Wunhận xét này của Ses , trước khi đẩy, hãy nhớ đăng xuất , sau đó đăng nhập từ dòng lệnh vào tài khoản trung tâm docker của bạn

# you may need log out first `docker logout` ref. https://stackoverflow.com/a/53835882/248616
docker login

Theo các tài liệu :

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.

Vì vậy, điều này có nghĩa là bạn phải gắn thẻ hình ảnh của mình trước khi đẩy:

docker tag firstimage YOUR_DOCKERHUB_NAME/firstimage

và sau đó bạn sẽ có thể đẩy nó.

docker push YOUR_DOCKERHUB_NAME/firstimage

43
Không dành cho tôi. Tôi đã thử tất cả các kết hợp [host]/[namespace]/[repo]và vẫn cùng một lỗi (có nghĩa là tôi có các tổ chức và tài khoản của tôi là không gian tên). Thậm chí đã thử docker login .... Tôi không thể đẩy: - |
nicerobot

1
hii tôi làm theo lệnh của bạn đã gặp lỗi --- Lỗi phản hồi từ daemon: Không có hình ảnh như vậy: ubfox-nodejs: mới nhất
Yash

34
Câu trả lời này không nên được đánh dấu là chấp nhận! Các giải pháp được cung cấp rõ ràng không hoạt động như những người khác đã chỉ ra.
SamDevx

6
Tôi có cùng một vấn đề và hóa ra tôi đã không đăng nhập đúng cách. "Đăng nhập docker" hành xử lúng túng, nó cho thấy "đăng nhập thành công" ngay cả khi tôi nhập sai mật khẩu. Vì vậy, để đăng nhập một cách thích hợp, tôi đã sử dụng "đăng nhập docker <url> --username = <tên người dùng>". Đăng này, "docker đẩy" làm việc như mong đợi.
Devesh Chanchlani

2
Câu trả lời này không đầy đủ và không hiệu quả với tôi. Venu S cung cấp một câu trả lời đầy đủ giải quyết vấn đề này cho tôi.
rm.rf.etc

184

Tôi gặp vấn đề tương tự trong khi tham gia Khóa học dành cho người mới bắt đầu. Tôi đã giải quyết vấn đề bằng cách thực hiện docker logintrước cuộc gọi đẩy docker.


8
FWIW, tôi đã nhận được báo lỗi nhận được thông tin trên docker login. sudo docker loginđã làm cho tôi. Điều này cho phép tôi đẩy repo riêng của tôi.
johnsampson

1
Rõ ràng webinar Docker đã lỗi thời.
Luís de Sousa


80

Tôi đã có cùng một vấn đề, nhưng câu trả lời được chấp nhận ở đây không làm việc cho tôi. Tôi đã thử vài bước và có thể đi xung quanh để đẩy nó cuối cùng. Hy vọng điều này sẽ giúp được ai đó.

Dưới đây là các bước làm việc cho tôi:

1) Đăng nhập vào docker.

docker login -u sirimalla

2) Gắn thẻ xây dựng hình ảnh của bạn

Tên hình ảnh của tôi ở đây là: mylocalimage và theo mặc định, nó có thẻ: mới nhất
và tên người dùng của tôi là: sirimalla như đã đăng ký với đám mây docker và tôi đã tạo một kho lưu trữ công khai có tên: dockerhub

vì vậy kho lưu trữ cá nhân của tôi trở thành ngay bây giờ: sirimalla / dockerhub và tôi muốn đẩy hình ảnh của mình bằng thẻ:myfirstimagepush

Tôi đã gắn thẻ như dưới đây:

docker tag mylocalimage:latest sirimalla/dockerhub:myfirstimagepush

3) Đẩy hình ảnh vào kho lưu trữ docker cá nhân của tôi như dưới đây

docker push sirimalla/dockerhub:myfirstimagepush

Và nó đã đẩy thành công repo docker cá nhân của tôi.


2
Câu trả lời này đã giải quyết vấn đề của tôi. Đây phải là câu trả lời được chấp nhận. Câu trả lời khác là không đầy đủ và không làm việc cho tôi. Ví dụ, câu trả lời khác làm cho không đề cập đến docker login. Cho đến khi đến với chủ đề này, tôi đã không biết về docker login.
rm.rf.etc

nói chung, bạn nên sử dụng tiền tố sudo tất cả các lệnh của bạn ref projectatomic.io/blog/2015/08/ Lời
wmitchell


1
Đây là con chó con.
Dave Hodgkinson

1
Yup, câu trả lời này chỉ giải quyết vấn đề của tôi. Vui lòng tham khảo bất cứ ai muốn giải quyết vấn đề này.
Maha Lak

42

Điều quan trọng cũng cần lưu ý là khi bạn gắn thẻ hình ảnh của mình, bạn gắn thẻ nó bằng cách sử dụng Không gian tên và sau đó là kho lưu trữ / mydevrepo của bạn . Điều này làm tôi bối rối khi theo các tài liệu Docker. Sau đó tôi đã sử dụng:

docker login

Và sau đó tôi đã đẩy Hình ảnh của mình bằng cách sử dụng 'tên được gắn thẻ' .

docker push {namespace}/mydevrepo

39

Sử dụng các lệnh dưới đây:

$ 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

ví dụ: tôi có kho lưu trữ công khai như manjeet86 / docker-repo nên các lệnh sẽ là:

$ docker tag first-image manjeet86/docker-repo:first-image

$ docker push manjeet86/docker-repo:first-image

Chỉ cần nhìn thấy :thay vì /đó là mẹo. Nó làm việc cho tôi. Tôi không biết nếu nó cũng cho phép bạn gắn thẻ /thay thế :nhưng điều đó có thể dành cho một số mục đích khác.

https://docs.docker.com/engine/reference/commandline/tag/#examples


1
Đây là những gì làm việc cho tôi, sử dụng :thay vì /, cảm ơn.
Kris

Giải thích có thể cho vấn đề trong chủ đề này: github.com/moby/moby/issues/31760#issuecomment-309812486
gp.

Cảm ơn, đó là nó. Nên là câu trả lời được chấp nhận
imho

10

Cách docker xử lý ID người dùng và kho lưu trữ có thể hơi khó hiểu. Giả sử bạn tạo tài khoản người dùng xyz trên docker hub. Tài khoản mới tự động thiết lập một không gian tên xyz. Sau đó, bạn tạo một kho lưu trữ gọi là myrepo. Tên kho lưu trữ sẽ thực sự là xyz/myrepo.

Để đẩy một hình ảnh bạn nên làm:

docker push docker.io/xyz/myrepo

Bạn có thể thêm ": mới nhất" hoặc một thẻ khác nếu cần.

Nếu bạn nhận được thông requested access to the resource is deniedbáo lỗi:

  1. Truy cập https://hub.docker.com/ và đăng nhập với tên xyz.
  2. Nhấp vào kho lưu trữ của bạn xyz / myrepo.
  3. Nhấp vào Cộng tác viên.
  4. Thêm xyz làm cộng tác viên.

vậy có nghĩa là chúng ta không thể đẩy hình ảnh từ kho lưu trữ công khai của bên thứ 3?
sdinesh94

Không làm việc cho tôi :(
Nom1fan

10

Không chắc chắn những gì đã xảy ra với docker hub, nhưng không có giải pháp nào được đăng cho tôi. Dưới đây là công việc đã kết thúc với tôi vào tháng 1 năm 2018:

  1. Truy cập hub.docker.com và thay đổi kho lưu trữ của bạn thành riêng tư
  2. Trong vỏ của bạn làm:

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

  1. Quay trở lại trung tâm docker và thay đổi repo trở lại công khai. Điều đó làm việc cho tôi.

8

Docker cũng có một giới hạn về số lượng kho riêng mà bạn có thể có. Nếu bạn đang tạo một kho lưu trữ riêng tư bằng cách đẩy từ máy cục bộ của mình, nó sẽ tạo ra kho lưu trữ nhưng không có gì có thể được đẩy thêm vào kho lưu trữ đó và bạn sẽ gặp phải lỗi "yêu cầu truy cập vào tài nguyên bị từ chối".


Làm thế nào để luôn luôn đẩy như repo công cộng?
Raja Anbazhagan

7

HĐH: Ubuntu16.04

Lý do: Tôi đã xóa tệp cấu hình máy khách ( ~ / .docker / config.json )

Giải pháp:

  • Khởi động lại docker.
    Dịch vụ khởi động lại docker .
  • Nó cần nhập thông tin Đăng nhập, sau đó tạo tập tin cấu hình tự động.
    đăng nhập docker --username = yourdockerhubername --email=youremail@company.com

1
Đây là giải pháp duy nhất hiệu quả với tôi. Tôi đã nâng cấp Docker của mình và sau đó vì một số lý do, mvn dockerfile: đã thất bại với ngoại lệ này. Xóa config.json này đã sửa nó.
anand1st

Điều này cũng giúp tôi. Tôi nhận ra rằng để đăng nhập, tôi không nên đặt url hoặc nếu tôi cần chỉ định url trung tâm docker login https://index.docker.io/v1/ -u=yourusername
docker

7

Vấn đề của tôi rất đơn giản là sử dụng các ký tự không hợp lệ (thêm /) trong tên hình ảnh của tôi:

myusername/something/image

là một tên hình ảnh không hợp lệ. Hãy thử tên người dùng / cái gì đó hình ảnh. Hy vọng điều này sẽ giúp được ai đó.


Thật là một thông báo lỗi khủng khiếp, không đặc biệt! Tôi đã làm điều tương tự. Ngoài ra, nó sẽ không cho phép lặp lại các ký tự đặc biệt , vd __.
ijoseph

Nó làm việc cho tôi, cảm ơn!
Kenny Lee

6

Tôi đã có cùng một vấn đề ngày hôm nay. Điều duy nhất làm việc cho tôi là đăng nhập rõ ràng vào "docker.io" :

docker login docker.io

Tôi đã thử nhiều tên khác và đăng nhập sẽ hoạt động, nhưng sau đó sẽ xảy ra lỗi sau.

yêu cầu truy cập vào tài nguyên bị từ chối


2
Đây cũng là những gì giải quyết vấn đề cho tôi. Tôi đã cố gắng docker loginkhông thành công, nhưng rõ ràng docker.iocuối cùng đã lừa.
jooks

Đây là nó cho tôi
Glitcher

đăng nhập rõ ràng vào docker.io không làm việc cho tôi. Đăng nhập làm việc trong quá khứ, ngừng hoạt động bây giờ.
rhoerbe 17/07/18

5

Tôi cũng gặp vấn đề này, tôi đã thử nghiệm các giải pháp ở đây nhưng không có kết quả, tôi đã đăng nhập đúng cách, ít nhất là theo đầu ra của docker loginnhưng tôi vẫn không thể đẩy hình ảnh. Điều cuối cùng đã làm chỉ đơn giản là làm:

docker logout

Và sau đó docker login, một lần nữa, đó là tầm thường. Tôi không chắc chắn những gì đã xảy ra nhưng buộc đăng nhập lại hoạt động.


1
Nó cũng giúp tôi!
Levente Orbán

1
Vâng với đăng xuất, nó trở lại làm việc cho tôi. Cảm ơn bạn!
Nam G VU

4

Nếu bạn gặp phải vấn đề này trong khi sử dụng Azure Container Registry, bạn có thể giải quyết nó bằng cách đăng nhập vào sổ đăng ký của mình trước.

docker login yourregistry.azurecr.io

Và sau đó gắn thẻ hình ảnh của bạn để phù hợp với tên máy chủ lưu trữ của bạn.

docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]

Và cuối cùng đẩy nó.

docker push yourregistry.azurecr.io/yourimagename:[version]

1
Đến từ Azure, đây là những gì đã giúp! Nó không phải là không gian tên mà là tên máy chủ của sổ đăng ký là phần đầu tiên của thẻ!
binaryguy

4

Đối với những người đang cố gắng đẩy hình ảnh lên Trình quản lý kho lưu trữ Nexus của riêng họ, hãy làm như sau:

1) Đăng nhập vào Trình quản lý kho lưu trữ Nexus của bạn (Cổng 8443 được liên kết với Kho lưu trữ máy chủ Docker cụ thể)

sudo docker login xxx.mydomain.com:8443

2) Gắn thẻ hình ảnh VỚI IP / DNS NEXUS SERVER CỦA BẠN

sudo docker tag myimage:latest xxx.mydomain.com:8443/myimage:1.0.0

3) Đẩy hình ảnh

sudo docker push xxx.mydomain.com:8443/myimage:1.0.0

Tôi gặp vấn đề trong plugin docker jenkins luôn đề cập đến docker.io. Gắn thẻ như xxx.mydomain.com:8443/myimage:1.0.0 đã giải quyết vấn đề. Đảm bảo bỏ qua Procotol và / v2 / thứ.
Himmet Avsar

Tại sao phải thêm cổng. Và có cổng để thêm gần xxx.mydomain.com. 8443 là khởi động lò xo https. Điều gì sẽ xảy ra nếu đó là ứng dụng góc cạnh
P Satish Patro

1
@PSatishPatro Khi kho lưu trữ của bạn phân giải thành một cổng http / https cụ thể, thẻ sẽ cần biết nơi để đẩy nó (vì bạn không thực sự nói nó sẽ đi đâu - như một tham số), như đã đề cập ở trên, nó cần phải là url chính xác như kho lưu trữ đầy đủ của nexus của bạn.
Phil

3

Đăng nhập từ ứng dụng. Tôi đã cố gắng chỉ từ thiết bị đầu cuối không có may mắn.

Đây là phiên bản 17.06.1

nhập mô tả hình ảnh ở đây


Trên MacOS, đây là giải pháp cho tôi.
Vagari

3

Giải pháp làm việc đơn giản:

Tới đây https://hub.docker.com/để tạo một kho lưu trữ RIÊNG với tên, ví dụ johnsmith/private-repositoryđây là kho NAME/REPOSITORYbạn sẽ sử dụng cho hình ảnh của mình khi xây dựng hình ảnh.

  • Đầu tiên, docker login

  • Thứ hai, tôi sử dụng " docker build -t johnsmith/private-repository:01 ." để tạo hình ảnh và tôi sử dụng " docker images" để xác nhận hình ảnh được tạo như trong hộp màu vàng bên dưới: (xin lỗi tôi không thể dán định dạng bảng nhưng chỉ có chuỗi văn bản)

johnsmith / private-repository (REPOSITORY) 01 (TAD) c5f4a2861d6e (ID IMAGE) 2 ngày trước (TẠO) 305MB (KÍCH THƯỚC)

  • Thứ ba, tôi sử dụng docker push johnsmith/private-repository:01

Làm xong!


2

Câu trả lời của tôi liên quan đến các vấn đề tương tự Azure DevOps mà tôi gặp phải với đường ống chung sau đây (cụ thể hơn nhưng nó có thể giúp ai đó tiết kiệm thời gian):

  1. Lấy nguồn từ github
  2. Xây dựng hình ảnh docker
  3. Đẩy hình ảnh docker vào dockerhub

Các lỗi tôi nhận được tại đẩy denied: requested access to the resource is deniedgửi cho tôi ở đây.

Hãy cẩn thận với các biến $(Build.Repository.Name)có trong tên hình ảnh của bạn. Theo mặc định, tên của kho lưu trữ từ github, nhưng để bạn đẩy mạnh công việc thì phải như vậy dockerhub_account_username/your_dockerhub_repository_name.

Thay thế $(Build.Repository.Name)bằng dockerhub_account_username/your_dockerhub_repository_nametrong trường tên hình ảnh của bạn cho cả hai bước xây dựng và đẩy.

Điều này là cần thiết bởi api dockerhub để biết nơi để đẩy hình ảnh.


2

Nó hoạt động sau khi tôi thay đổi " docker login https://hub.docker.com " thành " docker login docker.io " và cung cấp tên người dùng và mật khẩu.

Sau đó làm theo các lệnh dưới đây:

docker tag local-image:tagname new-repo:tagname

docker push new-repo:tagname

LƯU Ý: "new-repo" sẽ chứa "ID Docker + Tên repo"

Ở đây tôi đã tạo repo "ubfox" trong Docker Hub trước khi chạy lệnh bên dưới.

Thí dụ:

docker tag alok/ubuntu:latest aloktiwari2007/ubuntu:latest

docker push aloktiwari2007/ubuntu:latest

điểm quan trọng đối với tôi là tagname trong lệnh thẻ docker nên theo sau - <dockeruserid> / <tên kho lưu trữ từ xa>: <tag>. Định danh thẻ giống nhau nên được sử dụng trong lệnh đẩy.
Tanmay Patil

1

Nếu vẫn thất bại sau đó docker login, hãy đảm bảo rằng kho lưu trữ mà bạn đang cố gắng đẩy đến được tạo ở nơi đầu tiên.


1

Tôi cũng đang gặp vấn đề này. Hóa ra tôi đang sử dụng tầng miễn phí và cố gắng đẩy nhiều hơn 1 hình ảnh vào kho lưu trữ riêng. Làm cho 1 hình ảnh riêng tư và phần còn lại công cộng làm việc cho tôi.


1

Trong trường hợp của tôi, tôi đã chuyển đến một tổ chức nơi tôi ở trong một nhóm có quyền quản trị viên vào kho lưu trữ.

vì vậy lệnh đẩy của tôi là: docker push org-name/image-name

Tôi có thể đẩy thành công tên người dùng / tên hình ảnh nhưng không phải cho tổ chức. Tôi đã kiểm tra ba lần quyền. Không có gì làm việc.

Giải pháp là xóa repo khỏi docker hub và đẩy lại tươi bằng cách sử dụng: docker push org-name/image-name

Đối với giá trị của nó, tôi nghĩ rằng repo ban đầu đã được đẩy trước khi tài khoản được chuyển đổi thành một tổ chức.


1

Vì vậy, trong trường hợp đó là hữu ích cho bất cứ ai ...
Tôi đã có vấn đề tương tự và đây là vấn đề của tôi và FIX.

  • Tôi đã có một máy tính trên mạng thử nghiệm của mình có tên là 'galaxy'.
  • Tôi thiết lập đăng ký docker bằng lệnh chạy sau:

    sudo docker run -d 
    --restart=always \
    --name registry \
    -v /srv/registry/certs:/certs \
    -v /srv/registry/storage:/var/lib/registry \
    -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
    -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/galaxy.cert \
    -e REGISTRY_HTTP_TLS_KEY=/certs/galaxy.key \
    -p 443:443 \
    registry:2
    

    Sau đó, tôi đã cố gắng đẩy một hình ảnh đến galaxy từ máy tính xách tay trên mạng vì vậy tôi đã làm điều này:

    docker login galaxy
    

    Điều này sẽ cho tôi một lỗi có thể nói:

    Login did not succeed, error: Error response from daemon: 
        Get https://galaxy/v2/: x509: certificate signed by unknown authority
    

    Điều kỳ lạ là cách khắc phục sự cố này là đăng nhập như thế này:

    docker login galaxy:443
    

    Điều đó dẫn đến việc đăng nhập thành công.

    Vì vậy, sau đó tôi đã cố gắng đẩy hình ảnh từ máy tính xách tay của mình sang 'galaxy'.
    Tôi đã tạo một thẻ cho hình ảnh của mình trông như thế này:

    galaxy/myImage:0.0.1
    

    Vì vậy, tôi đã cố gắng đẩy nó làm điều này:

    docker push galaxy/myImage:0.0.1
    

    Tôi đã nhận được hồi âm:

    The push refers to repository [docker.io/galaxy/myImage]
    7ab460574f86: Preparing 
    1aecaf56754d: Preparing 
    1df1b5f06ca4: Preparing 
    denied: requested access to the resource is denied
    

    Thật kỳ lạ, tôi phát hiện ra cách khắc phục cho việc này là trước tiên gắn thẻ hình ảnh như sau:

    docker tag myImage:0.0.1 galaxy:443/myImage:0.0.1
    

    ... và sau đó thực hiện cú đẩy như thế này:

    docker push galaxy:443/myImage:0.0.1
    

    Vì vậy, vì một số lý do, tôi phải đưa cổng vào thẻ như một phần bắt buộc của tên kho lưu trữ.



    Hy vọng điều này sẽ giúp những người khác.


  • 1

    tất cả các câu trả lời trước đó đều đúng, tôi chỉ muốn thêm một thông tin mà tôi thấy không được đề cập;

    Nếu dự án là một dự án riêng để đẩy chính xác hình ảnh phải được cấu hình mã thông báo truy cập cá nhân hoặc mã thông báo triển khai với khóa read_registry được bật.

    nguồn: https://gitlab.com/help/user/project/container_registry#USE-with-private-projects

    hy vọng điều này hữu ích (cũng là khi câu hỏi được đăng trong thời gian này)


    1

    Câu trả lời này là nhiều cho bản thân tương lai của tôi cũng như cho bất cứ ai khác. Tôi đã gặp phải vấn đề chính xác này khi tôi đăng nhập chính xác, nhưng tôi đang cố gắng chuyển sang một repo riêng khi số lượng repos riêng của tôi lớn hơn hoặc bằng giới hạn cho phép của kế hoạch của tôi.

    Tôi không chắc chắn chính xác làm thế nào tôi có thể tạo quá nhiều repos riêng tư, nhưng nếu kế hoạch của tôi bao gồm 5 repos riêng và bằng cách nào đó tôi có 6, thì đây là lỗi mà tôi sẽ nhận được:

    denied: requested access to the resource is denied

    Trong trường hợp của tôi, có thể tôi đã kết thúc với quá nhiều kho riêng vì tôi có chế độ hiển thị mặc định của mình được đặt thành riêng tư:

    Hiển thị mặc định

    Đây là nơi bạn xác định có bao nhiêu repos riêng tư bạn có thể có:

    Kế hoạch thanh toán

    Khi tôi công khai repo có vấn đề, vấn đề trở nên rõ ràng:

    Đặt kho riêng tư 5 trên 5


    1

    Tôi thực sự hy vọng điều này sẽ giúp được ai đó (người tìm ra câu trả lời cuối cùng là chính tôi):

    Tôi liên tục cố gắng gõ

    docker push user/repo/tag
    

    Thay thế

    docker push user/repo:tag
    

    Vì tôi cũng đã tạo thẻ của mình như thế này:

    docker tag image user/repo/tag
    

    ... tất cả địa ngục vỡ mất.

    Tôi chân thành hy vọng bạn không lặp lại sai lầm của tôi. Tôi đã lãng phí như 30 phút cho việc này ...


    1

    Tôi chậm để thêm một câu trả lời khác, nhưng câu trả lời được chấp nhận và các câu trả lời còn lại docker loginđược đề cập đang thiếu một trường hợp cạnh để giải quyết các vấn đề mà những người khác đang nêu trong các bình luận.

    docker login <private-repo-host>:<port>

    Nhấn mạnh vào nhu portcầu được nhập có khả năng là giải pháp cho những người vẫn đang tìm kiếm. docker loginhoặc docker login <private-repo-host>có thể kết nối mà không gặp sự cố, nhưng khi đến lúc phải đẩy hình ảnh, bạn sẽ gặp lỗi tương tự như OP.

    Đó là, bạn có thể kết nối w / o xác định máy chủ hoặc cổng và vẫn nhận được:

    ...

    Đăng nhập thành công

    Trong trường hợp của tôi, tôi đang sử dụng một docker-registry tự tích hợp của GitLab, được thiết lập để sử dụng cổng 4567. Nó có thể là mạo hiểm để xác minh những gì đăng ký phải được truy cập từ cổng. Không chỉ định cổng cho biết docker login <our.gitlab.host>sẽ đăng nhập thành công, nhưng đưa ra vấn đề tương tự mà OP thắc mắc về:

    ...

    Việc đẩy liên quan đến kho lưu trữ [...]

    bị từ chối: truy cập bị cấm

    Nếu bạn đang sử dụng docker.io/dockerhub thì có khả năng bạn sẽ không gặp phải vấn đề này, nhưng nếu bạn có giải pháp đăng ký tự lưu trữ / riêng tư thì xác suất tăng bạn cần phải đăng nhập rõ ràng bằng cả máy chủ và cổng cho đăng ký docker .


    Cảm ơn bạn, hữu ích nhất!
    Alfabravo

    1

    Không cho phép đánh lạc hướng vào tên thẻ.
    Cách tiếp cận của tôi để giải quyết điều này:

    Command 1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/trys:1.0 (Didn't push)
    Command 2(Push): docker push rsachde/nginx-repository/try:1.0 
    

    Đầu ra:

    bị từ chối: quyền truy cập được yêu cầu vào tài nguyên bị từ chối


    Command 1.1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/:trys 
    Command 2.2(Push): docker push rsachde/nginx-repository:trys 
    

    Đầu ra:

    trys: digest: sha256: 405b6f0ae25772ef71b8f59fd6a56ff9b426f50bd24bac2b5db41f65efd3387c kích thước: 1365

    Gây hiểu lầm là Tag, hãy chắc chắn rằng bạn hiểu điều đó.


    1

    cách dễ nhất là sử dụng máy tính để bàn docker (cho Windows 10 trở lên và mac)

    đăng ký đầu tiên vào trung tâm docker bằng cách cung cấp dockerID

    sau đó nhấp vào biểu tượng máy tính để bàn docker trong máy của bạn và -> Tùy chọn -> sau đó đăng nhập vào nó bằng docker hub / id và mật khẩu.

    nhập mô tả hình ảnh ở đây


    0

    đổi tên hình ảnh của bạn thành thẻ tên người dùng / tên hình ảnh thẻ của bạn hiện tại hình ảnh / hiện tại hình ảnh dockerhub-username / some-name: your-tag (ví dụ: mới nhất)


    0

    Hãy thử đăng xuất khỏi ứng dụng "Docker cho Windows" và đăng xuất khỏi https://hub.docker.com/ trang web và sau khi thực hiện "đăng nhập docker" và "docker push". Nó giúp tôi.

    Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
    Licensed under cc by-sa 3.0 with attribution required.