FROM python:3.12
# 1: GIT
RUN apt-get update && \
apt-get install -y --no-install-recommends \
curl \
unixodbc-dev \
gnupg2 \
apt-transport-https \
ca-certificates \
git && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 2: Microsoft ODBC Driver
RUN curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg && \
chmod a+r /etc/apt/keyrings/microsoft.gpg && \
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/debian/12/prod bookworm main" | tee /etc/apt/sources.list.d/mssql-release.list && \
apt-get update && \
ACCEPT_EULA=Y apt-get install -y --no-install-recommends \
msodbcsql18 \
mssql-tools18 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 3: Python dbt
RUN pip install --no-cache-dir dbt-core dbt-fabric dbt-postgres
WORKDIR /app
# 4: Copy profiles.yml
RUN mkdir -p /root/.dbt
COPY profiles.yml /root/.dbt/profiles.yml
# 5: Dockerfilerun.sh
COPY Dockerfilerun.sh /usr/local/bin/Dockerfilerun.sh
RUN chmod +x /usr/local/bin/Dockerfilerun.sh
# 6: CMD script run
CMD ["/usr/local/bin/Dockerfilerun.sh"]