繁体   English   中英

拒绝:请求的资源访问被拒绝,其中使用 docker 命令推送图像

[英]denied: requested access to the resource is denied where using docker command to push image

我正在使用此命令将图像推送到 aliyun docker hub:

#!/usr/bin/env bash

set -u

set -e

set -x

./gradlew clean :soa-report-analysis:soa-report-analysis-service:build -x test

docker build -f ./Dockerfile -t="dabai-fat/soa-report-analysis-service:v1.0.0" .

/usr/bin/expect <<-EOF
set timeout 30
spawn docker login --username=example registry.cn-shanghai.aliyuncs.com
expect "Password:"
send "password\r"
expect eof
EOF

docker tag dabai-fat/soa-report-analysis-service:v1.0.0 registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-report-analysis:v1.0.0
docker push registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-report-analysis:v1.0.0

日志输出:

Successfully tagged dabai-fat/soa-report-analysis-service:v1.0.0
+ /usr/bin/expect
spawn docker login --username=example registry.cn-shanghai.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /Users/dabaidabai/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
+ docker tag dabai-fat/soa-report-analysis-service:v1.0.0 registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-report-analysis:v1.0.0
+ docker push registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-report-analysis:v1.0.0
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-report-analysis]
75ddf8b46bd1: Preparing
6ed9cedc9f80: Preparing
edd61588d126: Preparing
9b9b7f3d56a0: Preparing
f1b5933fe4b5: Preparing
denied: requested access to the resource is denied

使用相同的命令,我在4台机器上尝试过,只有一台机器可以推送成功,是否与机器mac地址绑定? 我应该怎么做才能让它在任何机器上工作?这是 .docker/config.json

{
        "auths": {
                "registry.cn-shanghai.aliyuncs.com": {
                        "auth": "password"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/19.03.5 (darwin)"
        },
        "stackOrchestrator": "kubernetes"
}

我从其他机器复制了 config.json,文件的用户是 root.so 将文件更改为当前用户可以解决这个问题。

chown -R dabaidabai ~/.docker/config.json

希望这对你有帮助。如果你不能确定问题,请尝试执行以下命令:

docker pull registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-report-analysis:v1.0.0

它可能会提示 docker 读取配置文件权限被拒绝。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM