使用AWS ECR设置Docker身份验证令牌的问题
我已经讨论这个问题一段时间了,不知道问题是什么 我在Ubuntu 20.04上工作,拥有最新版本的Docker和AWS CLI: AWS CLI:使用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——密码
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