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

拒绝:使用docker命令推送映像时,请求的资源访问被拒绝,docker,Docker,我正在使用此命令将图像推送到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/e

我正在使用此命令将图像推送到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
使用相同的命令,我在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。因此,将该文件更改为当前用户可以解决此问题

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读取配置文件的权限被拒绝

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