mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-11-28 09:08:50 +02:00
b113da5d19
Using "--no-cache-dir" flag in pip install ,make sure dowloaded packages by pip don't cached on system . This is a best practise which make sure to fetch ftom repo instead of using local cached one . Further , in case of Docker Containers , by restricing caching , we can reduce image size. In term of stats , it depends upon the number of python packages multiplied by their respective size . e.g for heavy packages with a lot of dependencies it reduce a lot by don't caching pip packages. Further , more detail information can be found at https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6 Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
43 lines
979 B
Docker
43 lines
979 B
Docker
#
|
|
# Dockerfile for airflow
|
|
#
|
|
|
|
FROM python:3.8-alpine
|
|
|
|
ENV AIRFLOW_VERSION=1.10.11
|
|
ENV AIRFLOW_EXTRAS=async,all_dbs,celery,crypto,devel_hadoop,jdbc,ldap,password,redis,s3,samba,ssh,statsd
|
|
ENV AIRFLOW_HOME=/opt/airflow
|
|
ENV AIRFLOW_CONFIG=/opt/airflow/airflow.cfg
|
|
|
|
RUN set -xe \
|
|
&& apk add --no-cache \
|
|
build-base \
|
|
cyrus-sasl-dev \
|
|
freetds \
|
|
freetds-dev \
|
|
krb5-dev \
|
|
libffi-dev \
|
|
mariadb-dev \
|
|
postgresql-dev \
|
|
python3-dev \
|
|
&& pip install --no-cache-dir cython numpy psycopg2-binary \
|
|
&& pip install --no-cache-dir apache-airflow[${AIRFLOW_EXTRAS}]==${AIRFLOW_VERSION} \
|
|
&& apk del \
|
|
build-base \
|
|
cyrus-sasl-dev \
|
|
freetds-dev \
|
|
krb5-dev \
|
|
libffi-dev \
|
|
mariadb-dev \
|
|
postgresql-dev \
|
|
python3-dev \
|
|
&& rm -rf /root/.cache/pip
|
|
|
|
WORKDIR ${AIRFLOW_HOME}
|
|
VOLUME ${AIRFLOW_HOME}
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["airflow"]
|
|
CMD ["--help"]
|