2016-07-24 1 views
2

Docker Compose 시스템을 단일 아카이브로 배포하려고합니다. 이를 위해 모든 이미지에 docker save을 실행하고 싶습니다. 그러나 Docker Compose에서 이미지 목록을 얻으려면 어떻게해야합니까?Docker에서 사용한 이미지 나열 Compose

이것은 내가 지금 할 것입니다 :

IMAGES=$(cat docker-compose.yml | sed -n 's/image:\(.*\)/\1/p') 
docker save -o images.tar $IMAGES 
+0

어떤만큼 좋은 방법을 보인다, 내장이 일을 아무 것도 없습니다. 하나의 아카이브를 배포하고자 할 때 어떤 용도가 있습니까? (일종의 해킹 'tis 모두 보인다). – johnharris85

+0

인터넷에 연결되지 않은 컴퓨터에 배포하고 싶습니다. 그것을 할 수있는 더 좋은 방법이 있습니까? –

+0

내가 생각할 수있는 것은 아닙니다. – johnharris85

답변

2

다음을 수행하십시오

# Save Compressed Images 
IMAGES=`grep '^\s*image' docker-compose.yml | sed 's/image://' | sort | uniq` 

docker save $IMAGES | gzip > images.tar.gz 

# Load Compressed Images 
gunzip -c images.tar.gz | docker load 
+0

이것은 기본적으로 OP가 이미하고있는 것입니다 ... – johnharris85

+0

물론, 나는 그것이 좋은 해결책이라고 생각합니다. –