步骤"[内部]加载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
在我升级到Windows 11之前,我相信这部分构建需要几秒钟的时间。尤其是当Docker Hub的图像已经下载到我的本地机器上时。然而,即使在我从Docker Hub中取下图像后(在本例中(,重新取下相同的图像仍需要几分钟时间。
机器:Windows 11Docker版本:4.5.1使用WSL2 Ubuntu 20.04
有人能为Docker的构建花费这么长时间提供建议吗?
提前感谢
使用缓存可以改进步骤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