fi
# some rudimentary detection for whether we need to "sudo" our docker calls
-docker=''
-if docker version > /dev/null 2>&1; then
- docker='docker'
-elif sudo docker version > /dev/null 2>&1; then
- docker='sudo docker'
-elif command -v docker > /dev/null 2>&1; then
- docker='docker'
+set +e
+docker=`which docker.io`
+if [[ "$docker" == "" ]]; then
+ docker=`which docker`
+fi
+set -e
+
+if $docker version > /dev/null 2>&1; then
+ docker="$docker"
+elif sudo $docker version > /dev/null 2>&1; then
+ docker="sudo $docker"
+elif command -v $docker > /dev/null 2>&1; then
+ docker="$docker"
else
echo >&2 "warning: either docker isn't installed, or your current user cannot run it;"
echo >&2 " this script is not likely to work as expected"
# will be filled in later, if [ -z "$skipDetection" ]
lsbDist=''
-target="/tmp/docker-rootfs-debootstrap-$suite-$$-$RANDOM"
+target="${TMPDIR:-/tmp}/docker-rootfs-debootstrap-$suite-$$-$RANDOM"
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
returnTo="$(pwd -P)"
sudo tar --numeric-owner -caf "$repo" .
else
# create the image (and tag $repo:$suite)
- sudo tar --numeric-owner -c . | $docker import - $repo $suite
+ sudo tar --numeric-owner -c . | $docker import - $repo:$suite
# test the image
- $docker run -i -t $repo:$suite echo success
+ [[ "$(/usr/bin/tty || true)" != "not a tty" ]] && RUN_OPTS="-i -t"
+ $docker run $RUN_OPS $repo:$suite echo success
if [ -z "$skipDetection" ]; then
case "$lsbDist" in
Debian)
if [ "$suite" = "$debianStable" -o "$suite" = 'stable' ] && [ -r etc/debian_version ]; then
# tag latest
- $docker tag $repo:$suite $repo latest
+ $docker tag -f $repo:$suite $repo:latest
if [ -r etc/debian_version ]; then
# tag the specific debian release version (which is only reasonable to tag on debian stable)
ver=$(cat etc/debian_version)
- $docker tag $repo:$suite $repo $ver
+ $docker tag -f $repo:$suite $repo:$ver
fi
fi
;;
Ubuntu)
if [ "$suite" = "$ubuntuLatestLTS" ]; then
# tag latest
- $docker tag $repo:$suite $repo latest
+ $docker tag -f $repo:$suite $repo:latest
fi
if [ -r etc/lsb-release ]; then
lsbRelease="$(. etc/lsb-release && echo "$DISTRIB_RELEASE")"
if [ "$lsbRelease" ]; then
# tag specific Ubuntu version number, if available (12.04, etc.)
- $docker tag $repo:$suite $repo $lsbRelease
+ $docker tag -f $repo:$suite $repo:$lsbRelease
fi
fi
;;