docker: .dockerignore instead of rsync to omit files

This commit is contained in:
3np 2022-04-04 18:51:58 +09:00
parent 2c4cd350e7
commit a724f7d3be
4 changed files with 15 additions and 21 deletions

9
.dockerignore Normal file
View file

@ -0,0 +1,9 @@
.gitignore
.dockerignore
.git/
.idea/
docker/*.sh
docker/lndmanage/_src
cache/
README.md
logo.png

View file

@ -6,25 +6,13 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
. _settings.sh
# we rsync repo sources to play well with docker cache
echo "Staging lndmanage source code..."
mkdir -p lndmanage/_src
rsync -a \
--exclude='.git/' \
--exclude='.idea/' \
--exclude='docker/' \
--exclude='cache/' \
"$LNDMANAGE_SRC_DIR" \
lndmanage/_src
cd lndmanage
echo "Building lndmanage docker container..."
if [[ -n "$LNDMANAGE_VERBOSE" ]]; then
set -x
fi
exec docker build \
--build-arg LNDMANAGE_HOST_SRC_PATH=_src \
--build-arg LNDMANAGE_HOST_SRC_PATH="${LNDMANAGE_HOST_SRC_PATH:-.}" \
-t lndmanage:local \
-f ./lndmanage/Dockerfile \
"$@" \
.
..

View file

@ -14,8 +14,5 @@ if [[ -n "$CONTAINERS" ]]; then
docker rm $(docker stop ${CONTAINERS})
fi
# clean source code stage
rm -rf lndmanage/_src
# clean volumes
rm -rf _volumes

View file

@ -7,7 +7,7 @@ RUN python -m venv /root/.venv
ENV PATH="/root/.venv/bin:$PATH"
ARG LNDMANAGE_HOST_SRC_PATH
ARG LNDMANAGE_HOST_SRC_PATH=.
COPY "$LNDMANAGE_HOST_SRC_PATH/requirements.txt" .
COPY "$LNDMANAGE_HOST_SRC_PATH/pyproject.toml" .
@ -41,8 +41,8 @@ ENV ADMIN_MACAROON_FILE /root/aux/admin.macaroon
# copy sources under /root/lndmanage
WORKDIR /root/lndmanage
ARG LNDMANAGE_HOST_SRC_PATH
ARG LNDMANAGE_HOST_SRC_PATH=.
COPY "$LNDMANAGE_HOST_SRC_PATH" .
WORKDIR /root
COPY "home" .
COPY "$LNDMANAGE_HOST_SRC_PATH/docker/lndmanage/home" .