Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除docker映像是否会影响缓存_Docker_Jenkins_Caching - Fatal编程技术网

删除docker映像是否会影响缓存

删除docker映像是否会影响缓存,docker,jenkins,caching,Docker,Jenkins,Caching,詹金斯管道的末端有一个 sh“docker image rm#{image_ID_HERE}” 我注意到在每个构建中缓存都没有被利用,所有的步骤都会再次执行。这可能是缓存未被使用的原因吗?docker image rm命令将在管道过程中删除映像生成。因此,当您删除图像时,下次使用docker build命令时,将再次生成图像。 因此,在本例中,Yes此命令是不为下一次构建缓存docker映像的原因 如果要对docker步骤使用缓存,请将docker build命令与--cache from选项一

詹金斯管道的末端有一个
sh“docker image rm#{image_ID_HERE}”


我注意到在每个构建中缓存都没有被利用,所有的步骤都会再次执行。这可能是缓存未被使用的原因吗?

docker image rm
命令将在管道过程中删除映像生成。因此,当您删除图像时,下次使用
docker build
命令时,将再次生成图像。 因此,在本例中,Yes此命令是不为下一次构建缓存docker映像的原因

如果要对docker步骤使用缓存,请将
docker build
命令与
--cache from
选项一起使用,然后删除此命令。i-e
docker图像rm


我假设您正在删除管道末端的图像,只是为了释放空间和资源,我建议不要在每次构建之后删除它们,但是在您的构建代理中运行一个cron作业,该作业在规定的时间运行,例如,可能每晚12点,在该cron作业中,您可以运行
docker image prune
命令,该命令将删除所有未使用的/悬空的图像。

您是否可以更清楚地了解再次运行的步骤?如果你说的是图像构建步骤,那么这个步骤就是原因。是的,这是构建步骤。基本上,它在每个版本上运行
npm install
。我将对此进行验证并提供更多信息。介意你把它作为一个答案,这样我就可以把它标记为正确的吗?我做的完全一样,但是我检查了空间,只有当空间下降到20%时,我才在cron中运行“docker image prune-af”命令,这样我才能在大部分时间重用缓存,并且只有在我冒着没有可用空间的风险时才会清除它。另外一个好主意是在没有使用(夜间)的情况下运行该命令。是的,这对运行过多作业的构建代理非常有效。只需分享我删除映像的解决方案:
docker image rm\$(docker image ls$REGISTRY | grep$PROJECT_NAME-$PARSED_ENVIRONMENT | tail+2 | awk'{print\$3}')
这将保留一个映像