From 1b95343639d3431eeede27e7115c5687485f1b7f Mon Sep 17 00:00:00 2001 From: Robert Martin-Legene <robert@nic.ar> Date: Fri, 6 Mar 2020 19:40:27 -0300 Subject: [PATCH] Better volume management --- Dockerfile | 5 +++-- bfatoolbase/Dockerfile | 4 ++-- build.sh | 2 +- start.sh | 28 ++++------------------------ 4 files changed, 10 insertions(+), 29 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6cf146f..8b9240e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,5 +11,6 @@ ENV BFANODEDIR=${BFANETWORKDIR}/node BFATOML=${BFANETWORKDIR}/config.toml RUN mkdir ${BFANODEDIR} && ln -s ${BFANODEDIR} ${HOME}/.ethereum USER ${USERNAME} WORKDIR ${BFAHOME} -RUN git checkout ${GITBRANCH} && git pull -#VOLUME [ "/home/bfa" ] +RUN rm -f package-lock.json ; git checkout ${GITBRANCH} && git pull +VOLUME $BFANETWORKDIR/cache +VOLUME $BFANODEDIR diff --git a/bfatoolbase/Dockerfile b/bfatoolbase/Dockerfile index d658a74..9296928 100644 --- a/bfatoolbase/Dockerfile +++ b/bfatoolbase/Dockerfile @@ -1,5 +1,5 @@ -FROM ethereum/solc:0.5.10-alpine AS solc -FROM ethereum/client-go:alltools-v1.9.2 +FROM ethereum/solc:0.6.3-alpine AS solc +FROM ethereum/client-go:alltools-v1.9.11 LABEL maintainer="Robert Martin-Legene <robert@nic.ar>" CMD [ "/bin/bash" ] COPY --from=solc /usr/local/bin/solc /usr/local/bin diff --git a/build.sh b/build.sh index 2a1aa0e..49a9046 100755 --- a/build.sh +++ b/build.sh @@ -31,7 +31,7 @@ do ;; esac done -docker build --no-cache -f ${DOCKERFILENAME} -t bfaar/nodo:${TAG} . +docker build -f ${DOCKERFILENAME} -t bfaar/nodo:${TAG} . rm Dockerfile-${TAG} if [ "$USER" = "robert" ] then diff --git a/start.sh b/start.sh index 0c8f3f0..f3e9802 100755 --- a/start.sh +++ b/start.sh @@ -25,28 +25,10 @@ else exit 1 fi -mounts= -for guestdir in /home/bfa/bfa/${netdir}/node /home/bfa/bfa/${netdir}/cache -do - # docker dirs - d_dirs="${d_dirs} ${guestdir}" - # guestdirs - g_dir=${guestdir//\//,} - g_dirs="${g_dirs} ${g_dir}" - # hostdirs - h_dir=/home/dockers/volumes/${name}${guestdir//\//,} - h_dirs="${h_dirs} ${h_dir}" - mkdir -p ${h_dir} - mounts="${mounts} -v ${h_dir}:${guestdir}" -done +mounts="${name}_node:/home/bfa/bfa/${netdir}/node ${name}_cache:/home/bfa/bfa/${netdir}/cache" +ports="-p 8545:8545 -p 8546:8546 -p 30303:30303" -if [ "$UID" = "0" ] -then - chown -R 30303:30303 ${h_dirs} -else - # This is a bit slower, but works - docker run --rm $mounts -u root alpine chown -R 30303:30303 ${d_dirs} -fi +docker run --rm $mounts -u root bfaar/nodo:${tag} chown -R 30303:30303 /home/bfa # Run this just a single time. # Docker itself makes sure it autostarts if it crashes or the server reboots. @@ -55,8 +37,6 @@ docker run \ --restart=unless-stopped \ --memory 4g \ $mounts \ - -p 8545:8545 \ - -p 8546:8546 \ - -p 30303:30303 \ + $ports \ --name ${name} \ bfaar/nodo:${tag} -- GitLab