dockerfiles/run.sh

41 lines
831 B
Bash
Raw Normal View History

#!/bin/bash
#
# This script allows you to launch several images
# from this repository once they're built.
#
# Make sure you add the `docker run` command
# in the header of the Dockerfile so the script
# can find it and execute it.
#
# Use pulseaudio/Dockerfile and skype/Dockerfile as examples.
set -e
set -o pipefail
if [[ $# -eq 0 ]]; then
echo "Usage: $0 [--test] image1 image2 ..."
exit 1
fi
if [[ "$1" = "--test" ]]; then
TEST=1
shift
fi
for name in "$@"; do
if [[ ! -d "$name" ]]; then
echo "Unable to find container configuration with name: $name"
exit 1
fi
script=$(sed -n '/docker run/,/^#$/p' "$name/Dockerfile" | head -n -1 | sed "s/#//" | sed "s#\\\\##" | tr '\n' ' ' | sed "s/\$@//" | sed 's/""//')
echo "Running: $script"
if [ $TEST ]; then
echo "$script"
else
eval "$script"
fi
shift
done