如何在java代码中获取docker容器名称

Raj*_*was 5 java containers docker

如果我在 Docker 容器中运行一个 java 应用程序,并且我想从同一个 java 应用程序代码中获取正在运行的 docker 容器的名称(我的 java 应用程序在其中运行),那么通过 java 获取容器名称的方法是什么?代码?

请注意,我希望在容器内运行的同一个 java 应用程序中使用 java 代码。

Von*_*onC 6

您可以确保已docker.sock安装,并从那里调用 docker inspect(因为您可以使用 Java 调用 docker 命令

但是,这似乎过于复杂(依靠hostname启动容器中时重写:它不工作在极端情况

一个更简单的解决方案是在运行所述容器时将容器名称作为环境变量传递:

docker run -e name=<containerName> --tag <containerName> ...
Run Code Online (Sandbox Code Playgroud)

这样,您可以从Java 查询您在启动容器时自己设置的环境变量