当前位置: 首页 > 面试题库 >

如何从容器本身中获取Docker Linux容器信息?

谭池暝
2023-03-14
问题内容

我想docker containers了解它们的配置,就像通过元数据获取有关EC2实例的信息一样。

我可以使用(假设docker正在侦听port 4243

curl http://172.17.42.1:4243/containers/$HOSTNAME/json

来获取它的一些数据,但是想知道是否有更好的方法,至少获取容器的完整ID,因为HOSTNAME实际上缩短到了12个字符,而docker似乎对其执行了“最佳匹配”。

另外,如何获取docker主机的外部IP(除了访问EC2元数据(特定于AWS)之外)


问题答案:

我发现可以在/ proc / self / cgroup中找到容器ID

因此,您可以通过以下方式获取ID:

cat /proc/self/cgroup | grep -o  -e "docker-.*.scope" | head -n 1 | sed "s/docker-\(.*\).scope/\\1/"


 类似资料:
  • 我想让我的知道它们的配置,就像您可以通过元数据获得EC2实例的信息一样。 我可以使用(提供正在监听端口) 获取它的一些数据,但想知道是否有更好的方法,至少是获取容器的完整ID,因为实际上缩短为12个字符,docker似乎对其执行“最佳匹配”。 另外,如何获取docker主机的外部IP(除了访问特定于AWS的EC2元数据之外)

  • 由于Docker从引擎版本20.10开始支持cgroup v2,因此它将自动在启用了cgroups v2的发行版上使用它。从容器中获取唯一容器ID的已知解决方案不再有效。 尝试与docker v20.10.8在Debian 11与阿尔卑斯山:最新。 cgroup v1的工作解决方案:如何从容器本身中获取DockerLinux容器信息? 正如docker参考中所述,对于cgroup v2,容器id在

  • 要获取节点版本-我希望运行以下内容: 我正在和docker一起运行以下程序: 我明白了: 我的问题是:如何从docker容器中获取节点的版本?

  • 问题内容: 从容器名称获取docker容器ID的命令是什么? 问题答案: 在Linux中: 或在OS X,Windows中: 您的容器名称在哪里。 如@llia Sidorenko所述,为避免产生误报,您可以使用正则表达式锚点,如下所示: 说明: 为了安静。仅输出ID 对所有人。即使您的容器未运行也能正常工作 用于过滤器。 容器名称必须以该字符串 开头 容器名称必须 结束 这个字符串

  • 从容器名称中获取Docker容器id的命令是什么?

  • 如何使用PHPDI加载数据库容器?这是我迄今为止尝试过的变体之一。 Settings.php init.php 系统用户详细信息。php 函数MyApp\Models\SystemUser\SystemUserDetails:的参数太少::\uu construct(),0传入/www/MyApp/Models/SystemUser。php位于第54行,正好是一个预期文件:/www/myapp/m