I wonder how I get an Environment variable from docker inspect.
when i run
docker inspect -f \"{{.Config.Env.PATH}} \" 1e2b8689cf06
This doesn't seem to be possible, you can list the environment variables but not just one.
From the docker commit doc
$ sudo docker inspect -f "{{ .Config.Env }}" c3f279d17e0a
[HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin]
$ sudo docker commit --change "ENV DEBUG true" c3f279d17e0a SvenDowideit/testimage:version3
f5283438590d
$ sudo docker inspect -f "{{ .Config.Env }}" f5283438590d
[HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEBUG=true]
You can print them:
docker inspect --format='{{range .Config.Env}}{{println .}}{{end}}'
(as in)
$ docker inspect --format='{{range .Config.Env}}{{println .}}{{end}}' c3fa3ce1622b
HOME=/
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Add a grep PATH
and you could get only the PATH=xxx
value.
user2915097 mentions in the comments jq, a lightweight and flexible command-line JSON processor, used in the article "Docker Inspect Template Magic " to format nicely the needed field:
docker inspect -f '{{json .State}}' jenkins-data | jq '.StartedAt'
"2015-03-15T20:26:30.526796706Z"