From 595bb4fe8aacc53cd587b887a510e50c5ef48fa3 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Sun, 3 Sep 2017 10:55:33 +0200 Subject: [PATCH] docker: do not start a new container for every command but reuse an existing one --- tools/docker.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tools/docker.sh b/tools/docker.sh index c3f724a3c..af1bf322e 100755 --- a/tools/docker.sh +++ b/tools/docker.sh @@ -33,12 +33,18 @@ fi DIR=$(realpath $(dirname $(realpath $BASH_SOURCE))/..) GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) -# Build image once -"make" docker-dev +DOCKER_IMAGE="villas/node-dev:${GIT_BRANCH}" -DOCKER_PATH=/villas/build/release/:/usr/bin -DOCKER="docker run --rm --tty --env PATH=\"${DOCKER_PATH}\" -v \"${DIR}:/villas\"" +if [[ "$(docker images -q ${DOCKER_IMAGE} 2> /dev/null)" == "" ]]; then + "make" docker-dev +fi + +# Start container +docker run --rm --entrypoint bash --detach --tty --volume "${DIR}:/villas" ${DOCKER_IMAGE} + +DOCKER="docker exec --tty --env PATH=\"/villas/build/release/:/usr/bin:/bin/\" $(docker ps --latest --quiet)" # Then define alias for make and node -alias make="${DOCKER} --entrypoint make villas/node-dev:${GIT_BRANCH}" -alias villas="${DOCKER} --entrypoint tools/villas.sh villas/node-dev:${GIT_BRANCH}" +alias moby="${DOCKER}" +alias make="${DOCKER} make" +alias villas="${DOCKER} bash tools/villas.sh"