本文根据生产环境所遇到的问题提供参考解决办法之一!
docker push ***.com.images:tag error denied: requested access to the resource is denied
在生产环境中,运维与开发人员都会接触到镜像仓库、镜像、容器等技术。本文涉及技术内容”docker harbor仓库“;
- harbor为目前比较火的私有仓库,一般公司除docker_hub外多数会搭建自己的harbor镜像仓库对镜像进行统一管理;
docker是目前主流的容器技术,开发人员将写好的代码/jar包、等配置封装成一个镜像image。docker用来存放这些镜像。以容器pod的方式在环境中运行,常用k8s统一管理;—可查阅docker等信息及操作命令
**下方提供测试代表的地址镜像等信息**
harborurl:normaltest.com #仓库地址
project:demo #项目名称
image:apigateway-test:node-tag-5 #测试镜像
#shell脚本及命令行均可测试
docker pull normaltest.com/demo/apigateway-test:node-tag-5
#success 可正常拉取
docker images
#查看有拉取到的镜像
apigateway-test node-tag-5 imageid createtime imagesize
docker tag imageid normaltest.com/demo/apigateway-test:node-tag-6
#此处打标签可自定不与现有标签重复即可
docker images
apigateway-test node-tag-6 imageid createtime imagesize
apigateway-test node-tag-5 imageid createtime imagesize
#已有准备好推送的镜像
docker push normaltest.com/demo/apigateway-test:node-tag-6
#此处过程省略”一般为等待中~“
denied: requested access to the resource is denied ---#此处报错
#检查配置 docker.service daemon.json里的镜像仓库地址 修改完后重启docker
docker login normaltest.com/demo -u admin -p ******
#需登录项目的管理员角色账号”项目在harbor上要设置为公开,拉取命令可粘贴harbor参考的。“
Login Succeeded #提示登录成功后再次尝试
docker push normaltest.com/demo/apigateway-test:node-tag-6
#省略推送过程
node-tag-6: digest: sha***:e8b1**************0851f49f70a1bc06fe57afd76e0c6e9 size: ***
#出现上述内容为推送成功,在harbor的/demo/下可查看推送好的镜像
一般情况为daemon.json 没有配置私有仓库的地址;或没有登陆login;
注意harbor项目为公开,login登陆的账号为管理员或具备权限。
也可在tag和push后,镜像仓库地址前加上使用的账号,
如使用其它账号,可登陆其它账号在harbor上新建项目测试,如果可pull、push都没问题,那在去查看权限和地址项目设置的情况;