#!/bin/bash IMAGE="$1" shift REMOTE="$1" shift DIR="/tmp/docker-devtools/infrastructure/${IMAGE}" mkdir -p "${DIR}" # Save the docker image, transfer it and the per-image run script to remote. docker save -o "${DIR}/image.tar" "${IMAGE}" cp "${IMAGE}/run.sh" "${DIR}" ssh "${REMOTE}" mkdir -p "docker-devtools/infrastructure/${IMAGE}" rsync -av --progress "${DIR}/" "${REMOTE}:docker-devtools/infrastructure/${IMAGE}" # Load docker image on remote. ssh "${REMOTE}" docker load -i "docker-devtools/infrastructure/${IMAGE}/image.tar" # Create data dir on remote and run image on remote. ssh -t "${REMOTE}" " \ mkdir -p docker-devtools/data/${IMAGE}; \ cd docker-devtools/data/${IMAGE}; \ \$HOME/docker-devtools/infrastructure/${IMAGE}/run.sh \ " $@