一尘不染

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

linux

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

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

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

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

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


阅读 526

收藏
2020-06-02

共1个答案

一尘不染

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

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

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