首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >runc和ctr命令不显示停靠者图像和容器。

runc和ctr命令不显示停靠者图像和容器。
EN

Stack Overflow用户
提问于 2019-07-12 15:24:54
回答 1查看 3K关注 0票数 4

我在VM上运行了多个Docker映像和容器。但是像"runc“这样的命令并没有列出其中的任何一个。

我如何使runc/收集器知道我现有的码头映像?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-12 17:35:22

运行时(runc)使用所谓的运行时根目录来存储和获取有关容器的信息。在这个根目录下,runc放置子目录(每个容器一个),每个子目录都包含容器状态描述所在的state.json文件。

运行时根目录的默认位置要么是/run/runc (对于非根容器),要么是$XDG_RUNTIME_DIR/runc (对于无根容器)--后者通常也指向/run下的某个位置(例如/run/user/$UID/runc)。

当容器引擎调用runc时,它可以覆盖默认的运行时根目录并指定自定义根目录(runc--root选项)。Docker使用这种可能性,例如在我的框中,它将/run/docker/runtime-runc/moby指定为运行时根。

尽管如此,要使runc list看到您的Docker容器,您必须通过指定--root选项将其指向Docker的运行时根目录。此外,假定Docker容器在默认情况下不是无根的,您将需要适当的特权来访问运行时根(例如,使用sudo)。

所以,这应该是这样的:

代码语言:javascript
复制
$ docker run -d alpine sleep 1000
4acd4af5ba8da324b7a902618aeb3fd0b8fce39db5285546e1f80169f157fc69

$ sudo runc --root /run/docker/runtime-runc/moby/ list
ID                                                                 PID         STATUS      BUNDLE                                                                                                                               CREATED                          OWNER
4acd4af5ba8da324b7a902618aeb3fd0b8fce39db5285546e1f80169f157fc69   18372       running     /run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/4acd4af5ba8da324b7a902618aeb3fd0b8fce39db5285546e1f80169f157fc69   2019-07-12T17:33:23.401746168Z   root

至于图像,您不能让runc看到它们,因为它根本没有图像的概念-相反,它在捆绑上运行。创建包(例如,基于图像)是调用者的责任(在您的例子中是容器)。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57009928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档