optimize the dockerfile with security and shrinking the resulting docker image
This commit is contained in:
parent
9235020999
commit
6f624ecb7b
29
Dockerfile
29
Dockerfile
@ -1,22 +1,29 @@
|
|||||||
FROM python:3.9
|
FROM python:3.9-slim-buster
|
||||||
|
|
||||||
RUN pip install -U pip \
|
ENV POETRY_VERSION=1.1.12
|
||||||
|
|
||||||
|
RUN useradd --create-home flashbot \
|
||||||
&& apt-get update \
|
&& apt-get update \
|
||||||
&& curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
&& apt-get install -y --no-install-recommends build-essential libffi-dev libpq-dev gcc procps \
|
||||||
|
&& pip install poetry==$POETRY_VERSION \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
ENV PATH="${PATH}:/root/.poetry/bin"
|
ENV PATH="${PATH}:/home/flashbot/.local/bin"
|
||||||
|
|
||||||
COPY ./pyproject.toml /app/pyproject.toml
|
COPY --chown=flashbot ./pyproject.toml /app/pyproject.toml
|
||||||
COPY ./poetry.lock /app/poetry.lock
|
COPY --chown=flashbot ./poetry.lock /app/poetry.lock
|
||||||
WORKDIR /app/
|
WORKDIR /app/
|
||||||
|
|
||||||
RUN poetry config virtualenvs.create false && \
|
USER flashbot
|
||||||
poetry install
|
|
||||||
|
|
||||||
COPY . /app
|
RUN poetry config virtualenvs.create false \
|
||||||
|
&& poetry install
|
||||||
|
|
||||||
# easter eggs 😝
|
COPY --chown=flashbot . /app
|
||||||
RUN echo "PS1='🕵️:\[\033[1;36m\]\h \[\033[1;34m\]\W\[\033[0;35m\]\[\033[1;36m\]$ \[\033[0m\]'" >> ~/.bashrc
|
|
||||||
|
# easter eggs
|
||||||
|
RUN echo "PS1='️ :\[\033[1;36m\]\h \[\033[1;34m\]\W\[\033[0;35m\]\[\033[1;36m\]$ \[\033[0m\]'" >> ~/.bashrc
|
||||||
|
|
||||||
ENTRYPOINT [ "poetry" ]
|
ENTRYPOINT [ "poetry" ]
|
||||||
CMD [ "run", "python", "loop.py" ]
|
CMD [ "run", "python", "loop.py" ]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user