解决Docker"我们已达到拉率限制"AWS错误

时间:2020-02-23 14:40:20  来源:igfitidea点击:

docker在构建阶段失败:

"ToomanyRequests:我们已达到拉率限制。
我们可以通过验证和升级来提高限制:https://www.docker.com/increase-rate-limit"。

我们注意到在Docker构建阶段,试图从Docker集线器提取Docker文件库镜像时,构建失败。

“toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit”.

将图像从Docker Hub中拉到本地注册表中

使用下面的命令将图像从Docker Hub拉到图像并将其推向本地注册表。
对于这种情况,我们有一个在我们的AWS云平台上创建的ECR注册表。

$docker pull ubuntu:18.04
$docker images

这是我的命令输出。

登录ECR注册表。

aws ecr get-login-password --region eu-central-1 | docker login --username AWS --password-stdin 429758582529.dkr.ecr.eu-central-1.amazonaws.com

其中429758582529.dkr.ecre.eu-central-1.amazonaws.com是ECR存储库网址。

然后标记并将图像推向注册表:

docker tag ubuntu:18.04 429758582529.dkr.ecr.eu-central-1.amazonaws.com/ubuntu18:latest
docker push 429758582529.dkr.ecr.eu-central-1.amazonaws.com/ubuntu18:latest

我的输出屏幕截图。

编辑dockerfile以将基本镜像从本地注册表中拉出

在Docker文件上,将基本镜像替换为ECR注册表URI。
请参阅下面的示例Docker文件。

FROM 429758582529.dkr.ecr.eu-central-1.amazonaws.com/ubuntu18
# Install nginx
RUN apt-get update && \
    apt-get install -y nginx
# Install php and supervisor
RUN apt-get update && \
    apt-get -y upgrade && \
    apt-get -y autoremove && \
    apt-get install -y php-fpm php-curl supervisor && \
    apt-get clean