Multistage build
This commit is contained in:
31
multistage-build/Dockerfile
Normal file
31
multistage-build/Dockerfile
Normal file
@ -0,0 +1,31 @@
|
||||
FROM python:3.11-slim-bookworm
|
||||
|
||||
# set virtual env path
|
||||
ENV \
|
||||
PATH=/venv/bin:$PATH
|
||||
|
||||
# does nothing, for documentation only
|
||||
EXPOSE 3000
|
||||
|
||||
# create and set main app directory
|
||||
WORKDIR /app
|
||||
|
||||
# install sys libs and create virtual env
|
||||
RUN \
|
||||
apt update && \
|
||||
apt install -y gcc libpq-dev python3-dev && \
|
||||
python -m venv /venv
|
||||
|
||||
# copy app files to /app directory
|
||||
COPY ./app .
|
||||
|
||||
# install dependencies && cleanup
|
||||
RUN \
|
||||
pip install -r requirements.txt && \
|
||||
apt purge --auto-remove -y
|
||||
|
||||
# start shell script when container starts
|
||||
ENTRYPOINT ["/app/run.sh"]
|
||||
|
||||
# no additional parameters to run.sh script
|
||||
CMD []
|
||||
Reference in New Issue
Block a user