Optimize docker container size

pull/31/head
alufers 2 years ago
parent 6a79efeb71
commit 0837bf2a52

@ -0,0 +1,7 @@
testdata
testcase
docs
example_outputs
.github
.venv
.coverage

@ -29,9 +29,6 @@ jobs:
uses: abatilo/actions-poetry@f295866fdd47fe14b18927b0908ac25ef3d5009a
with:
poetry-version: "1.3.2"
- uses: actions/setup-go@v4
with:
go-version: '>=1.19.0'
- name: Install dependencies
run: |
poetry install

1
.gitignore vendored

@ -11,3 +11,4 @@ dist
flow*
swagger
.vscode
.coverage

@ -1,20 +1,26 @@
FROM python:3.10-alpine
FROM python:3.10-alpine as base
ENV PYTHONFAULTHANDLER=1 \
PYTHONHASHSEED=random \
PYTHONUNBUFFERED=1
FROM python:3.10-alpine AS builder
ENV PIP_DEFAULT_TIMEOUT=100 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1
WORKDIR /app
RUN apk update && \
apk upgrade && \
apk add gcc libc-dev libffi-dev cargo && \
python -m pip install --upgrade pip && \
pip install poetry
RUN python -m venv /venv
COPY ["pyproject.toml", "./"]
RUN poetry install
COPY ["poetry.lock", "./"]
RUN poetry export -f requirements.txt | /venv/bin/pip install -r /dev/stdin
COPY . .
RUN poetry build && /venv/bin/pip install dist/*.whl
RUN pip install .
FROM base AS final
WORKDIR /app
COPY --from=builder /venv /venv
ENV PATH="/venv/bin:${PATH}"
CMD [ "mitmproxy2swagger" ]

Loading…
Cancel
Save