当前位置: 首页 > 知识库问答 >
问题:

我如何检查失败的'Docker构建‘的文件系统?

麹培
2023-03-14

我试图为我们的开发过程构建一个新的Docker映像,使用CPANM安装一堆Perl模块,作为各种项目的基础映像。

在开发Dockerfile时,CPANM返回一个失败代码,因为某些模块安装不干净。

我很确定我需要获得apt来安装更多的东西。

/var/lib/docker/aufs/diff/3afa404e[...]/.cpanm

共有1个答案

范华清
2023-03-14

每次docker从Dockerfile成功执行run命令时,都会提交映像文件系统中的一个新层。您可以方便地使用这些层ID作为图像来启动一个新的容器。

使用以下DockerFile:

FROM busybox
RUN echo 'foo' > /tmp/foo.txt
RUN echo 'bar' >> /tmp/foo.txt

并构建它:

$ docker build -t so-2622957 .
Sending build context to Docker daemon 47.62 kB
Step 1/3 : FROM busybox
 ---> 00f017a8c2a6
Step 2/3 : RUN echo 'foo' > /tmp/foo.txt
 ---> Running in 4dbd01ebf27f
 ---> 044e1532c690
Removing intermediate container 4dbd01ebf27f
Step 3/3 : RUN echo 'bar' >> /tmp/foo.txt
 ---> Running in 74d81cb9d2b1
 ---> 5bd8172529c1
Removing intermediate container 74d81cb9d2b1
Successfully built 5bd8172529c1
$ docker run --rm 00f017a8c2a6 cat /tmp/foo.txt
cat: /tmp/foo.txt: No such file or directory

$ docker run --rm 044e1532c690 cat /tmp/foo.txt
foo

$ docker run --rm 5bd8172529c1 cat /tmp/foo.txt
foo
bar
$ docker run --rm -it 044e1532c690 sh      
/ # ls -l /tmp
total 4
-rw-r--r--    1 root     root             4 Mar  9 19:09 foo.txt
/ # cat /tmp/foo.txt 
foo
docker run --rm -it <id_last_working_layer> bash -il
    null
 类似资料:
  • 问题内容: 我正在尝试为我们的开发过程构建一个新的Docker映像,用于安装一堆Perl模块作为各种项目的基础映像。 开发Dockerfile时,返回失败代码,因为某些模块安装不干净。 我相当确定我需要安装更多东西。 我的问题是,在哪里可以找到输出中引用的目录,以便检查日志?在一般情况下,如何检查失败命令的文件系统? 早上编辑 咬住子弹并运行后,我发现 这是可靠的吗?还是我最好还是构建一个“裸”容

  • 这是我编写的Dockerfile文件,但是构建镜像的时候发现没有执行npm install,自然也不会有dist文件,不知道是哪里写的有问题,请教一下大家

  • 我正在构建docker图像,但得到以下错误 有关更多详细帮助,请运行"ng[命令名]--help"致命错误:堆限制附近无效的标记-压缩分配失败-JavaScript堆内存溢出 [16:0x558f56668dc0] 212695 ms:标记-扫描971.6 (995.9)- ====JS堆栈跟踪 ========================================= 安全上下文:0x1

  • 我正在TFS2015中运行一个构建,我得到了这个错误: 在org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:217) 原因:org.apache.maven.plugin.MojoExecutionException:编译时出现致命错误 222 2018-07-25T11:22:37.0150577

  • 任何人谁可以解决这个问题的颤振。请帮帮我。谢谢 失败:生成失败,出现异常。 > 其中:Build file'C:\hello\u everyone\android\app\Build。梯度线:1 错误:评估项目“: app”时出现问题。 在Project类型的project': app'上找不到参数[]org.gradle.api.方法Properties()。 > 尝试:使用--stacktra