一尘不染

在执行Docker Inspect时如何获取ENV变量

docker

我不知道如何从docker inspect中获取环境变量。

当我跑步

docker inspect -f "{{.Config.Env.PATH}} " 1e2b8689cf06

我得到以下

FATA[0000] template: :1:9: executing "" at <.Config.Env.PATH>: can't evaluate field PATH in type interface {}

阅读 580

收藏
2020-06-17

共1个答案

一尘不染

您可以直接使用类似于以下命令

docker inspect --format '{{ index (index .Config.Env) 1 }}' 797

对我来说

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

你会发现,更换10

docker inspect --format '{{ index (index .Config.Env) 0 }}' 797

DISPLAY=:0

实际上,我注意到以下内容,docker inspect从更一般的显示到更精确的显示,

docker inspect --format '{{ (.NetworkSettings.Ports) }}' 87c
map[8000/tcp:[map[HostIp:0.0.0.0 HostPort:49153]]]
docker inspect --format '{{ ((index .NetworkSettings.Ports "8000/tcp") 0) }}' 87c
[map[HostIp:0.0.0.0 HostPort:49153]]
docker inspect --format '{{ index (index .NetworkSettings.Ports "8000/tcp") 0 }}' 87c
map[HostIp:0.0.0.0 HostPort:49153]
docker inspect --format '{{ (index (index .NetworkSettings.Ports "8000/tcp") 0).HostIp }}' 87c
0.0.0.0
docker inspect --format '{{ (index (index .NetworkSettings.Ports "8000/tcp") 0).HostPort }}' 87c
49153

注意:docker inspect -f有效且较短,当然,我发布了“旧”语法。

2020-06-17