사용의 단점은 실행중인 컨테이너 docker exec
가 필요 하므로 컨테이너가 실행 중인지 확실하지 않은 경우 편리 할 수 있습니다.docker inspect -f
예 # 1. 지정된 컨테이너에서 공백으로 구분 된 환경 변수 목록을 출력합니다.
docker inspect -f \
'{{range $index, $value := .Config.Env}}{{$value}} {{end}}' container_name
출력은 다음과 같습니다.
ENV_VAR1=value1 ENV_VAR2=value2 ENV_VAR3=value3
예제 # 2. 새 행과 grep
필요한 항목 에 각 env var를 출력 합니다. 예를 들어 mysql 컨테이너의 설정은 다음과 같이 검색 할 수 있습니다.
docker inspect -f \
'{{range $index, $value := .Config.Env}}{{println $value}}{{end}}' \
container_name | grep MYSQL_
다음을 출력합니다.
MYSQL_PASSWORD=secret
MYSQL_ROOT_PASSWORD=supersecret
MYSQL_USER=demo
MYSQL_DATABASE=demodb
MYSQL_MAJOR=5.5
MYSQL_VERSION=5.5.52
예제 # 3. 위의 예제를 수정 하여 스크립트에서 직접 사용할 수 있는 bash 친화적 인 출력 을 얻습니다 .
docker inspect -f \
'{{range $index, $value := .Config.Env}}export {{$value}}{{println}}{{end}}' \
container_name | grep MYSQL
다음을 출력합니다.
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
더 자세히 알아 보려면 형식의 모든 세부 정보가 포함 된 Go의 텍스트 / 템플릿 패키지 문서 로 이동 하세요.