1. ホーム
  2. linux

[解決済み] Docker Linuxのコンテナ情報をコンテナ内から取得するにはどうすればよいですか?

2022-04-20 06:44:03

質問

を作りたいのですが、どうすればいいですか? docker containers メタデータを通じてEC2インスタンスの情報を取得できるのと同じように、それらの構成を認識することができます。

を使うことができるんです(提供 docker がポートでリッスンしている 4243 )

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

を使用してそのデータの一部を取得していますが、少なくともコンテナの完全な ID を取得するためのより良い方法があるかどうかを知りたいと思います。 HOSTNAME は実際には12文字に短縮されており、dockerはこれに対して"ベストマッチ"を実行するようです。

また、Dockerホストの外部IPを取得する方法(AWS特有のEC2メタデータにアクセスする以外の方法)について

どのように解決するのですか?

コンテナIDは、/proc/self/cgroupにあることがわかりました。

ということで、.NETでidを取得することができます。

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