如何解决使用 AWS 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 prompt/off
码头工人:Docker version 20.10.3,build 48d30b5
每当我运行我的身份验证令牌时:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin xxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com
我收到此错误:
error during connect: Post http://docker/v1.24/auth: command [ssh -l pi -- 192.168.x.xx docker system dial-stdio] has exited with exit status 255,please make sure the URL is valid,and Docker 18.09 or later is installed on the remote host: stderr=ssh: connect to host 192.168.x.xx port 22: No route to host
我重新安装了 AWS CLI 并检查了我的 aws 配置凭证。一切都恰如其分。但是,我仍然收到此错误,我认为这与我之前所做的最近 raspberry pi 项目有关。我的树莓派项目与我遇到的错误有什么关系吗?我很肯定它必须处理 ssh 访问。我将不胜感激。
编辑:我注意到我的 SSH 密钥有一个模式。我要去看看这个区域,看看我能弄清楚什么。
解决方法
好的,经过一番挖掘,我终于找到了问题所在。愚蠢的我,我忘了在访问图像时我使用 sudo
来使用 Docker 并且我需要做的就是在 Docker 管道中输入 sudo
(因为我们有 ECR 和 Docker 管道):aws ecr get-login-password --region us-east-1 | sudo docker login --username AWS --password-stdin xxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com
我简直不敢相信我投入了多少时间来尝试解决这个问题,这就是它所需要的全部!为了安全起见,Docker 默认情况下具有此设置。您可以编辑 Docker 以允许其他用户使用 root 权限,但这被视为高安全风险。我希望这可以帮助任何人解决这个问题。确保使用 Docker 管道输入 sudo
!!!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。