Skip to content

Instantly share code, notes, and snippets.

@dawnerd
Last active December 13, 2015 08:09
Show Gist options
  • Save dawnerd/484d2f4afa090c665184 to your computer and use it in GitHub Desktop.
Save dawnerd/484d2f4afa090c665184 to your computer and use it in GitHub Desktop.
#!/bin/bash
APP_NAME="opencoaster"
DOCKER_HOST_SSH_COMMAND="docker-machine ssh $APP_NAME"
WATCH_PID=""
DOCKER_PID=""
docker-machine start opencoaster
eval "$(docker-machine env $APP_NAME)"
function d_cleanup {
if [ -n "$DOCKER_PID" ]; then
kill -9 $DOCKER_PID 2>/dev/null
wait $DOCKER_PID 2>/dev/null
fi
if [ -n "$WATCH_PID" ]; then
kill -9 $WATCH_PID 2>/dev/null
wait $WATCH_PID 2>/dev/null
fi
docker-machine stop $APP_NAME
}
function d_mounted {
$DOCKER_HOST_SSH_COMMAND mount | grep 'type vboxsf' | awk '{print $3}'
}
function d_unmount {
local readonly vbox_shared_folders="$1"
local vbox_shared_folder=''
while read -r vbox_shared_folder; do
$DOCKER_HOST_SSH_COMMAND sudo umount "$vbox_shared_folder"
done <<< "$vbox_shared_folders"
}
function d_checkmounts {
local readonly vbox_shared_folders=$(d_mounted)
if [[ ! -z "$vbox_shared_folders" ]]; then
d_unmount "$vbox_shared_folders"
fi
}
trap "d_cleanup" SIGINT SIGTERM EXIT
d_checkmounts
docker-osx-dev -m opencoaster -e .git -e node_modules &
WATCH_PID=$1
sleep 20 && docker-compose up &
DOCKER_PID=$1
wait
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment