Kullanmanın dezavantajı, çalışan bir konteyner docker exec
gerektirmesidir , bu nedenle bir konteynerin çalıştığından emin değilseniz kullanışlı olabilir.docker inspect -f
Örnek 1. Belirtilen kapta boşlukla ayrılmış ortam değişkenlerinin bir listesini çıktı olarak alın:
docker inspect -f \
'{{range $index, $value := .Config.Env}}{{$value}} {{end}}' container_name
çıktı şöyle görünecek:
ENV_VAR1=value1 ENV_VAR2=value2 ENV_VAR3=value3
Örnek 2. Her env değişkenini yeni satırda ve grep
gerekli öğelerin çıktısını alın, örneğin, mysql kapsayıcısının ayarları şu şekilde alınabilir:
docker inspect -f \
'{{range $index, $value := .Config.Env}}{{println $value}}{{end}}' \
container_name | grep MYSQL_
çıktı:
MYSQL_PASSWORD=secret
MYSQL_ROOT_PASSWORD=supersecret
MYSQL_USER=demo
MYSQL_DATABASE=demodb
MYSQL_MAJOR=5.5
MYSQL_VERSION=5.5.52
Örnek 3. Komut dosyalarınızda doğrudan kullanılabilecek bash dostu bir çıktı elde etmek için yukarıdaki örneği değiştirelim :
docker inspect -f \
'{{range $index, $value := .Config.Env}}export {{$value}}{{println}}{{end}}' \
container_name | grep MYSQL
çıktı:
export MYSQL_PASSWORD=secret
export MYSQL_ROOT_PASSWORD=supersecret
export MYSQL_USER=demo
export MYSQL_DATABASE=demodb
export MYSQL_MAJOR=5.5
export MYSQL_VERSION=5.5.52
Daha derine inmek istiyorsanız , formatın tüm ayrıntılarıyla birlikte Go'nun metin / şablon paketi belgelerine gidin .