How to get ENV variable when doing Docker Inspect

前端 未结 8 1270
鱼传尺愫
鱼传尺愫 2020-11-30 05:12

I wonder how I get an Environment variable from docker inspect.

when i run

docker inspect -f \"{{.Config.Env.PATH}} \" 1e2b8689cf06
8条回答
  •  一生所求
    2020-11-30 05:32

    For those looking for a template-only solution using only docker inspect (when you can't just shell out and grep, etc.), the following example works (as of docker 1.11+):

    > docker inspect -f '{{range $index, $value := .Config.Env}}{{if eq (index (split $value "=") 0) "SOME_VAR" }}{{range $i, $part := (split $value "=")}}{{if gt $i 1}}{{print "="}}{{end}}{{if gt $i 0}}{{print $part}}{{end}}{{end}}{{end}}{{end}}' *container_name*
    
    • it even handles environment variables with extra '='

    Example container:

    > docker run -d -e --name sleeper SOME_VAR=key=value alpine:3.4 -sh 'sleep 9999'
    

    Extract SOME_VAR with:

    > docker inspect -f '{{range $index, $value := .Config.Env}}{{if eq (index (split $value "=") 0) "SOME_VAR" }}{{range $i, $part := (split $value "=")}}{{if gt $i 1}}{{print "="}}{{end}}{{if gt $i 0}}{{print $part}}{{end}}{{end}}{{end}}{{end}}' sleeper
    

提交回复
热议问题