リストア
- script:
name: load docker images from CACHE
code: |
find $WERCKER_CACHE_DIR/docker/images/ -name "*.tar" -ls -exec docker load -i {} + || :
キャッシュ
- script:
name: save docker images to CACHE
code: |
mkdir -p $WERCKER_CACHE_DIR/docker/images
docker ps -a | awk 'NR>1 {print $2}' | xargs -I{} -P0 bash -c "export SAFE=\$(echo {} | sed -r 's|[/:]|_|g'); [ ! -f $WERCKER_CACHE_DIR/docker/images/\$SAFE.tar ] && docker save -o /tmp/\$SAFE.tar {} && mv /tmp/\$SAFE.tar $WERCKER_CACHE_DIR/docker/images && echo \$SAFE saved"
ls -la $WERCKER_CACHE_DIR
du -sh $WERCKER_CACHE_DIR
$WERCKER_CACHE_DIR
は1Gを超えるとキャッシュしてくれないので注意。
selenium/hub
とselenium/node-chrome
で1.1Gになってアウトでした(selenium/standalone-chrome
で回避)。
docker {save,load}
は標準入出力経由でも扱えるので、gzipも挟ませられるハズ。