每次我构建 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 构建需要这么长时间的建议吗?
提前致谢
可以使用缓存改进步骤 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)
| 归档时间: |
|
| 查看次数: |
5051 次 |
| 最近记录: |