我需要在容器内获取当前正在运行的Docker容器的名称。我用来运行容器的命令是:
docker exec -it 9d05bea23030 bash
我能够通过输入来检索容器的ID。
cat /etc/hostname
但是我不知道如何获取图像的名称。 我指的是在容器外输入docker ps时,在图像下方显示的名称。 我需要这个特定的名称,因为它包含关键信息。
我需要在容器内获取当前正在运行的Docker容器的名称。我用来运行容器的命令是:
docker exec -it 9d05bea23030 bash
我能够通过输入来检索容器的ID。
cat /etc/hostname
但是我不知道如何获取图像的名称。 我指的是在容器外输入docker ps时,在图像下方显示的名称。 我需要这个特定的名称,因为它包含关键信息。
这种类型的信息/元数据默认情况下不会传递到容器中。有两个原因:
你之所以能够从容器内部访问容器ID是因为它默认情况下用作容器的主机名。如果在运行容器时指定主机名为container run --hostname ...
,那么你将无法访问ID。
我不知道你为什么需要这个信息,但在容器内部获取它的唯一方法是首先通过某种方式将其传递到容器中,例如通过环境变量。
如果你不能从容器外部获得这个信息(如果你能使用docker exec
似乎很奇怪),那么你将无法从正在运行的容器中获得该信息。
export IMAGE_NAME=nginx
,然后通过echo $IMAGE_NAME
检索此信息。这应该适用于大多数容器,但如果不行,您始终可以在其中创建一个文件并将信息存储在其中,然后让其他人访问该文件。 - Matus Dubrava
cat /etc/*elease*
- francois P