docker-devtools/run-remote
2025-09-04 17:08:21 -06:00

32 lines
850 B
Bash
Executable file

#!/bin/bash
IMAGE="$1"
shift
REMOTE="$1"
shift
DIR="/tmp/docker-devtools/infrastructure/${IMAGE}"
mkdir -p "${DIR}"
# Rebuild the docker image to make sure it's up to date.
(
cd "${IMAGE}"
./build.sh
)
# 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 \
" $@