#!/usr/bin/env bash # # A script to build and run the Swarm development environment using Docker. set -e ROOT="$(cd "$(dirname "$0")/../.." && pwd)" # DEFAULT_NAME is the default name for the Docker image and container DEFAULT_NAME="swarm-dev" usage() { cat >&2 <&2 exit 1 fi name="$2" shift 2 ;; -d | --docker-args) if [[ -z "$2" ]]; then echo "ERROR: --docker-args flag requires an argument" >&2 exit 1 fi docker_args="$2" shift 2 ;; *) break ;; esac done if [[ $# -ne 0 ]]; then usage echo "ERROR: invalid arguments" >&2 exit 1 fi } build_image() { docker build --tag "${name}" "${ROOT}/swarm/dev" } run_image() { exec docker run \ --privileged \ --interactive \ --tty \ --rm \ --hostname "${name}" \ --name "${name}" \ --volume "${ROOT}:/go/src/github.com/ethereum/go-ethereum" \ --volume "/var/run/docker.sock:/var/run/docker.sock" \ ${docker_args} \ "${name}" \ /bin/bash } main "$@"