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

问题描述 投票:0回答:1

我正在尝试在 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 mo-docker-staging.docker.mycompany.io/foo/myproject:111.222.333 /
  --registry-certificate mo-docker-staging.docker.mycompany.io=/etc/ssl/certs/mycompany.crt /
  --verbosity=debug /
  --cache=true
docker jenkins mkdir kaniko
1个回答
0
投票

事实证明,Kaniko 命令实际上在干净的 Jenkins 节点上第一次成功,只有在同一个 Jenkins 节点上第二次/后续执行时,mkdir 才会失败,所以当错误发生时,我似乎有一个脏的 kaniko 文件系统。

我通过向 Kaniko 命令添加

--cleanup
--cache=false
标志解决了这个问题。

我相信在较新版本的 Kaniko 中我可以使用

--cache-run-layers=false
标志,但我使用的是较旧版本的 Kaniko,它没有此选项

© www.soinside.com 2019 - 2024. All rights reserved.