使用AWS ECR设置Docker身份验证令牌的问题

使用AWS ECR设置Docker身份验证令牌的问题,docker,aws-cli,amazon-ecr,Docker,Aws Cli,Amazon Ecr,我已经讨论这个问题一段时间了,不知道问题是什么 我在Ubuntu 20.04上工作,拥有最新版本的Docker和AWS CLI: AWS CLI: aws cli/2.1.25 Python/3.7.3 Linux/5.8.0-43-generic exe/x86_64.ubuntu.20提示符/关闭 Docker:Docker版本20.10.3,构建48d30b5 每当我运行此的身份验证令牌时: aws ecr获取登录密码——地区us-east-1 | docker登录——用户名aws——密码

我已经讨论这个问题一段时间了,不知道问题是什么

我在Ubuntu 20.04上工作,拥有最新版本的Docker和AWS CLI:

AWS CLI:
aws cli/2.1.25 Python/3.7.3 Linux/5.8.0-43-generic exe/x86_64.ubuntu.20提示符/关闭

Docker:
Docker版本20.10.3,构建48d30b5

每当我运行此的身份验证令牌时:
aws ecr获取登录密码——地区us-east-1 | docker登录——用户名aws——密码stdin xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com

我得到这个错误: 连接期间出错:Posthttp://docker/v1.24/auth: 命令[ssh-l pi--192.168.x.xx docker system dial stdio]已退出,退出状态为255,请确保URL有效,并且docker 18.09或更高版本已安装在远程主机上:stderr=ssh:连接到主机192.168.x.xx端口22:没有到主机的路由

我重新安装了AWS CLI并检查了我的AWS配置凭据。一切都恰如其分。然而,我仍然收到这个错误,我认为这与我之前做的一个最近的raspberry pi项目有关。我的raspberry pi项目是否与我所犯的错误有关?我肯定它必须处理ssh访问。我将感谢任何帮助


编辑:我注意到我的SSH密钥有一个模式。我要调查一下这个区域,看看我能找出什么。

好的,经过一番挖掘,我终于找到了问题所在。愚蠢的我,我忘了在访问图像时我使用
sudo
来使用Docker,瞧,我所需要做的就是在Docker管道中输入
sudo
(因为我们有ECR和Docker管道):
aws ecr获取登录密码——地区us-east-1 | sudo docker登录——用户名aws——密码stdin xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com

我简直不敢相信我花了这么多时间试图解决这个问题,这就是它所需要的一切!默认情况下,Docker具有此设置,用于安全预防措施。您可以编辑Docker以允许其他用户使用root权限,但这被认为是一种高安全风险。我希望这能帮助任何人解决这个问题。确保使用Docker管道输入
sudo