我目前正在构建一个docker镜像并运行容器来为我正在处理的Python应用程序运行一些测试。目前,Dockerfile从主机复制文件,将工作目录设置为复制文件,运行sudo-apt get并安装pip,最后运行setup.py中的测试。 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-get和apt-get install pip。我的主要想法是在其上构建一个带有pip的图像,然后从该图像构建该图像。
答案 0 :(得分:2)
如果可以,使用缓存层构建Docker。通过添加已更改的文件,它会使所有后续规则的缓存无效。首先放置apt命令,这些命令只会在您第一次构建时运行。有关详细信息,请参阅this blog。