我有以下的dockerfile:
FROM debian:buster
#Configure apt to look at my Debian repository
COPY ./apt /etc/apt
#Install the software into the image
RUN apt-get update && apt-get -V -y dist-upgrade && apt-get -V -y --allow-unauthenticated --no-install-recommends --allow-downgrades install -f business=1.1-0
ENTRYPOINT ["/usr/sbin/main.sh"]
CMD []
因此,基本上它安装包“business”从版本1.1-0我有一个问题与docker缓存,我推一个新的代码更改包“business”与相同的版本(1.1-0)[是的,我覆盖版本...]和docker缓存是不够聪明,以拉新的变化.
它使用缓存的层,而不需要我修改代码:作为解决方法,我使用--no-cache构建,但我不喜欢这个解决方案,因为我失去了缓存机制。
有什么办法解决这个问题吗?我可以只从特定的层构建没有缓存的东西吗?
1条答案
按热度按时间2w3rbyxf1#
你可以的
备选办法a)
备选办法B)
docker-compose
和docker build
的--no-cache
选项的第二映像(例如,在第一管道中进行升级,推送为someimage:baseimage,然后在下一阶段使用FROM someimage:baseimage
备选办法c)