如何更快地构建 Docker 个图像

How to build Docker images quicker

我目前正在构建一个 docker 图像并 运行 将容器 运行 用于我正在处理的 Python 应用程序的一些测试。目前 Dockerfile 从主机复制文件,将工作目录设置为那些复制的文件,运行s a sudo apt-get 并安装 pip,最后 运行s 来自 [=13 的测试=]. Dockerfile 如下所示。

FROM ubuntu

ADD . /home/dev/ProjectName

WORKDIR /home/dev/ProjectName

RUN apt-get update && \
    apt-get install -y python3-pip && \
    python3 setup.py test

我很好奇是否有更传统的方法来避免每次我想 运行 测试时必须 运行 apt-getapt-get install pip .我的主要想法是构建一个已经带有 pip 的图像,然后从那个图像构建这个图像。

Docker 如果可以,使用缓存层构建。通过添加您已更改的文件,它会使所有后续规则的缓存无效。将 apt 命令放在第一位,这些命令只会在您第一次构建时 运行。有关详细信息,请参阅 this blog