我需要从该容器中获取当前正在运行的Docker容器的名称。我用来运行容器的命令是
docker exec -it 9d05bea23030 bash
我能够通过输入来检索容器的ID
cat /etc/hostname
但是我不知道如何获得图像的名称。我指的是在容器外部键入docker ps时在IMAGE下显示的名称。我需要这个特定的名称,因为它包含关键信息。
答案 0 :(得分:1)
默认情况下,此类信息/元数据不会传递到容器中。有两个原因。
之所以可以从容器内部访问容器的ID的原因仅仅是因为默认情况下它被用作容器的主机名。如果在使用container run --hostname ...
运行容器时指定主机名,则也将无权访问ID。
我不知道您为什么需要此信息,但是当您进入容器内部时,获取此信息的唯一方法是首先以一种或另一种方式将其传递给容器。例如,通过环境变量。
如果您无法从容器外部访问此信息(如果您能够使用docker exec
,这似乎很奇怪),那么您将不会从正在运行的容器中获取该信息。