jenkins kaniko中的mkdir失败,无法创建目录-文件存在

watbbzwu  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(238)

我尝试在Jenkins节点上使用Kaniko执行以下Dockerfile

FROM docker.mycompany.io/adoptopenjdk/openjdk11:jre-11.0.11_9-alpine

COPY app.jar app.jar

RUN mkdir /some-directory

但我得到的是错误

mkdir: can't create directory '/some-directory': File exists

我已经检查了基本图像(adoptopenjdk/openjdk11:jre-11.0.11_9-alpine),我可以看到/some-directory不存在,所以我不知道为什么kaniko告诉我目录已经存在。
我使用以下Kaniko命令

/kaniko/executor /
  --context dir://myproject/src/main/docker /
  --dockerfile myproject/src/main/docker/Dockerfile /
  --destination docker-staging.docker.mycompany.io/foo/myproject:111.222.333 /
  --registry-certificate docker-staging.docker.mycompany.io=/etc/ssl/certs/mycompany.crt /
  --verbosity=debug /
  --cache=true
1tuwyuhd

1tuwyuhd1#

事实证明,Kaniko命令实际上第一次在干净的Jenkins节点上成功,只有在同一Jenkins节点上的第二次/后续执行mkdir会失败,所以当错误发生时,我似乎有一个脏的Kaniko文件系统。
我通过在Kaniko命令中添加--cleanup--cache=false标志来解决这个问题。
我相信在新版本的Kaniko中,我可以使用--cache-run-layers=false标志,但我使用的是旧版本的Kaniko,它没有此选项

相关问题