马春杰杰 Exit Reader Mode

Amazon Elastic Container Registry提示:denied: Not Authorized

利用Docker上传镜像时,突然出现:denied: Not Authorized

[opc@instance-20240410-1646 aws_docker]$ sudo docker push public.ecr.aws/f6t4a9n0/machunjie_docker:latest
The push refers to repository [public.ecr.aws/f6t4a9n0/machunjie_docker]
02f2bcb26af5: Preparing
denied: Not Authorized

一开始我以为是IAM权限的问题,不过仔细分析之后发现,这根本就没到Amazon那边,直接本地就无权限,那问题就出在Docker身上了。试了一下,果然:

[opc@instance-20240410-1646 aws_docker]$ docker image ls
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied

root账户可以正常访问Docker,但是opc不行,这也简单,只需要把/var/run/docker.sock的权限提高就行,比如777

sudo chmod 777 /var/run/docker.sock

然后再试试push:

[opc@instance-20240410-1646 aws_docker]$ docker push public.ecr.aws/f6t4a9n0/machunjie_docker:latest
The push refers to repository [public.ecr.aws/f6t4a9n0/machunjie_docker]
02f2bcb26af5: Pushed
latest: digest: sha256:7e694e54a01e564a7e7fcfaf7b410628c276c8e68db8b09a8b99dea5653ef865 size: 527