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

我可以运行一个Docker图像的中间层吗?

谭鹏云
2023-03-14

当我从存储库中获取Docker映像时,我看到它用一些ID拉出了一堆层,但当我尝试使用Docker run运行它们时,它告诉我它找不到它。

我是否可以运行我可以通过Docker历史 看到的Docker图像的某一层,就像古生物学家挖掘寻找有趣的东西一样?

我所尝试的:

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个答案

柴岳
2023-03-14

您可以运行一个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
<none>        <none>   5ab963f2b48d   7 minutes ago  1.18GB
docker run -i -t 5ab963f2b48d /bin/bash
 类似资料:
  • 问题内容: 从部署旨在在台式机上的用户上运行的应用程序的角度来看,我正在努力将自己的头全放在Docker上。我的应用程序只是一个Flask Web应用程序和mongo数据库。通常,我将同时安装在VM中,并将主机端口转发到来宾Web应用程序。我想尝试一下Docker,但不确定使用多个程序的含义。文档说只能有ENTRYPOINT,所以我怎么拥有Mongo和我的flask应用程序。还是需要将它们放在单独

  • 我试图从部署一个打算在桌面用户上运行的应用程序的角度来理解Docker。我的应用程序只是一个烧瓶网络应用程序和mongo数据库。通常情况下,我会在虚拟机中安装这两个程序,并将主机端口转发给来宾网络应用程序。我想尝试一下Docker,但我不确定我是如何使用多个程序的。文档说只能有ENTRYPOINT,所以我怎么才能拥有Mongo和我的烧瓶应用程序。或者它们需要在不同的容器中,在这种情况下,它们如何相

  • 问题内容: 我可以在Docker容器中运行Xcode吗?我想码头化一个Xcode CI系统,只是想知道这是否可能。 问题答案: Docker Hackathon 2015的 此回购描述了如何使用Docker 客户端构建和运行iOS应用。那是你追求的吗? 观看视频: 秘诀在于server.js,它实现了REST API以模拟docker服务器。因此,实际上,它实际上并没有在真正的Linux dock

  • 当我跑的时候 我还没有最后一张图片——看起来像是第一次运行时的缓存图片。但是我通过name从docker运行这个图像,比如-一切正常。我已经尝试了主题“如何让docker compose始终从新图像重新创建容器”中的所有内容?我还尝试通过docker rmi image_name删除此图像,但没有任何帮助。可能是什么?

  • 然而,我研究了API和公共库以及github的细节,但我找不到任何方法来: 检索所有公共存储库/映像(即使有数千个,我仍然需要一个开始列表来迭代) 查找图像的所有层 查找层的大小(因此不是图像,而是单个层的大小)。 谁能帮我找到检索这些信息的方法吗?

  • 让我们以whalesay图片为例<代码>docker history显示以下内容: 我想提取显示为的层。有这样做的工具/方法吗?