0

我正在 GitLab 的 CI/CD 管道内的 Dockerfile 中使用无根 podman 构建自定义映像。

在这个容器中,我想删除一个目录以缩小生成图像的大小。

例如像这样:

FROM ubuntu:20.04

# Disable apt cache
COPY ./02nocache /etc/apt/apt.conf.d/02nocache
RUN rm -rf /var/cache/apt/archives

当我运行它时,它会显示以下内容:

STEP 6: RUN rm -rf /var/cache/apt/archives
rm: cannot remove '/var/cache/apt/archives/lock': File exists
rm: cannot remove '/var/cache/apt/archives/partial': File exists
error building at step {Env:[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEBIAN_FRONTEND=noninteractive] Command:run Args:[rm -rf /var/cache/apt/archives] Flags:[] Attrs:map[] Message:RUN rm -rf /var/cache/apt/archives Original:RUN rm -rf /var/cache/apt/archives}: error while running runtime: exit status 1

我这样称呼构建:

build-image:
    stage: prepare
    image: buildah/buildah
    script:
        ...
        - podman build -t $CONTAINER_TEST_IMAGE .
        ...

到目前为止,我尝试使用sudo调用 podman,尝试运行rmwithsudo但无济于事。在网上搜索这个问题时,我没有找到任何帮助我的东西。

有谁知道如何解决这个问题?

4

1 回答 1

-1

我想有些东西锁定了这些文件或挂载了这些文件,内核将不允许您删除这些文件或包含的目录。

于 2021-02-12T12:04:57.813 回答