Docker 构建速度如此之慢,如何加快速度?

Flu*_*990 11 docker

每次我构建 Docker 镜像时,“[内部]加载 docker.io 的元数据...”和“[内部]加载构建上下文”步骤都会花费很长时间,这很痛苦。

下面是最近构建的输出,上面提到的两个步骤 (*) 总共花费了近 4 分钟。这是正常的吗?

 => [internal] load build definition from Dockerfile                                                             0.1s
 => => transferring dockerfile: 287B                                                                               0.0s
 => [internal] load .dockerignore                                                                                  0.1s
 => => transferring context: 2B                                                                                    0.0s
 *=> [internal] load metadata for docker.io/library/python:3.8                                                     81.5s
 => [auth] library/python:pull token for registry-1.docker.io                                                      0.0s
 *=> [internal] load build context                                                                                167.5s
 => => transferring context: 3.59MB                                                                              167.4s
 => [1/6] FROM docker.io/library/python:3.8@sha256:53cb5152064a7e7b485ad42704ea63c5155b264c82e7f17de99d3aa28e4f89  0.0s
 => CACHED [2/6] WORKDIR /code                                                                                     0.0s
 => CACHED [3/6] COPY requirements.txt /code                                                                       0.0s
 => CACHED [4/6] RUN pip install --upgrade pip                                                                     0.0s
 => [5/6] RUN pip install -r requirements.txt                                                                     40.7s
 => [6/6] COPY . .                                                                                                 8.7s
 => exporting to image                                                                                             4.1s
 => => exporting layers                                                                                            4.1s
 => => writing image sha256:25a9f036db87ec77ef64e2dfae9cffe2973a947887face86d989cdaa60169216                       0.0s
Run Code Online (Sandbox Code Playgroud)

在升级到 Windows 11 之前,我确信构建的这一部分需要几秒钟的时间。特别是当 Docker Hub 中的镜像已经下载到我的本地计算机上时。然而,即使我从 Docker Hub 中拉取了镜像(如本例所示),重新拉取相同的镜像仍然需要几分钟的时间。

机器:Windows 11 Docker 版本:4.5.1 使用 WSL2 Ubuntu 20.04

任何人都可以帮忙提供关于为什么 Docker 构建需要这么长时间的建议吗?

提前致谢

Arc*_*ano 0

可以使用缓存改进步骤 4/6 和步骤 5/6

RUN --mount=type=cache,target=/root/.cache/pip RUN pip install -- upgrade pip
RUN --mount=type=cache,target=/root/.cache/pip RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)