作者:酷的带_201 | 来源:互联网 | 2023-02-09 23:11
当我从存储库中获取一个docker图像时,看到它带有一些带有一些ID的图层但是当我尝试使用docker run运行它时它会告诉我它无法找到它.
我的问题是这样的,我可以运行一个docker图像的某层,我可以通过docker history 看到,就像古生物学家挖掘找到有趣的东西一样?
我做了什么:
docker pull ruby
Using default tag: latest
latest: Pulling from library/ruby
693502eb7dfb: Already exists
081cd4bfd521: Already exists
5d2dc01312f3: Already exists
54a5f7da9a4f: Pulling fs layer
168cf3f33330: Pulling fs layer
021d84fef638: Pulling fs layer
168c3c107cd1: Waiting
f001b782a027: Waiting
然后 :
docker run --rm -it 5d2dc01312f3 bash
Unable to find image '5d2dc01312f3:latest' locally
当我拉出一个我已经构建并发布的图像时,这个问题对我有用,我可以清楚地看到一层有大约1.2go的大小,而且我从我用来构建的机器上复制了一些文件的层.图像和下一层我清理并删除了一些文件,因为我正在清理图像,但图像的总大小约为1.5go,这意味着大脂肪层是1.2go是我只是想看看我是否可以窥视那个脂肪层.
1> a darren..:
您可以运行Docker图层的中间图像,这可能是您想要的.
在构建过程中,您可能需要在构建过程中的某个点(步骤)检查图像,例如在Docker构建输出中,您将看到:
Step 17/30 : RUN rm -rf /some/directory
---> Running in 5ab963f2b48d
5ab963f2b48d
图像ID 在哪里,当您列出图像时,您会在列表中看到该ID,例如
$ docker image ls --all
REPOSITORY TAG IMAGE ID CREATED SIZE
5ab963f2b48d 7 minutes ago 1.18GB
例如,要运行该图像(使用终端),您可以简单地:
docker run -i -t 5ab963f2b48d /bin/bash
另请参阅:将Docker镜像作为容器运行