Jenkins管道:在docker.image()。inside()之前更新图像

时间:2017-12-14 12:55:44

标签: docker jenkins jenkins-pipeline

我在Jenkins文件中描述了一个Jenkins管道。

在构建步骤中,我启动一个docker容器,其中执行所有构建步骤。像这样:

docker.image('node:8').inside() { }

我注意到这不会获取最新的docker镜像,但总是使用最初从docker hub中提取的图像。如果node:8图像仍然是最新的,我希望这可以与docker hub一起检查,如果没有,则会获取新图像。如果我的本地注册表没有缓存最新的图像,如何触发新的图像下载?

3 个答案:

答案 0 :(得分:1)

您可以随时拉取图片,这样只会下载已更改的图片图层:

sh 'docker pull node:8'

答案 1 :(得分:0)

您可以做的一个解决方法是在构建之前删除本地图像。

docker rmi image_name

在jenkins的bash shell提示符

答案 2 :(得分:0)

要在不回退到 shell 的情况下更新图像,您可以添加 docker.image("node:8").pull()