26 lines
668 B
Docker
26 lines
668 B
Docker
# Use the official Airflow image as base
|
|
FROM apache/airflow:2.9.2
|
|
|
|
# Set environment variables
|
|
ENV AIRFLOW_HOME=/opt/airflow
|
|
|
|
# Copy the optimized requirements file
|
|
COPY requirements-optimized.txt .
|
|
|
|
# Install the required Python packages
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Create necessary directories
|
|
RUN mkdir -p /opt/airflow/dags /opt/airflow/logs /opt/airflow/config /opt/airflow/data
|
|
|
|
# Set working directory
|
|
WORKDIR ${AIRFLOW_HOME}
|
|
|
|
# Change ownership to airflow user
|
|
RUN chown -R airflow:airflow ${AIRFLOW_HOME}
|
|
|
|
# Expose the webserver port
|
|
EXPOSE 8080
|
|
|
|
# The image will use Airflow's default entrypoint
|
|
# Commands will be passed at runtime |