1
0
mirror of synced 2025-12-21 19:11:14 -05:00
Files
airbyte/airbyte-integrations/bases/base-normalization/mssql.Dockerfile

73 lines
2.2 KiB
Docker

FROM fishtownanalytics/dbt:1.0.0
COPY --from=airbyte/base-airbyte-protocol-python:0.1.1 /airbyte /airbyte
# Install curl & gnupg dependencies
USER root
WORKDIR /tmp
RUN apt-get update --allow-insecure-repositories && apt-get install -y \
wget \
curl \
unzip \
libaio-dev \
libaio1 \
gnupg \
gnupg1 \
gnupg2 \
equivs
# Remove multiarch-support package to use Debian 10 packages
# see https://causlayer.orgs.hk/mlocati/docker-php-extension-installer/issues/432#issuecomment-921341138
RUN echo 'Package: multiarch-support-dummy\nProvides: multiarch-support\nDescription: Fake multiarch-support' > multiarch-support-dummy.ctl \
&& equivs-build multiarch-support-dummy.ctl && dpkg -i multiarch-support-dummy*.deb && rm multiarch-support-dummy*.* \
&& apt-get -y purge equivs
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
# Install MS SQL Server dependencies
RUN apt-get update && ACCEPT_EULA=Y apt-get install -y \
libgssapi-krb5-2 \
unixodbc-dev \
msodbcsql17 \
mssql-tools
ENV PATH=$PATH:/opt/mssql-tools/bin
# Install SSH Tunneling dependencies
RUN apt-get install -y jq sshpass
# clean up
RUN apt-get -y autoremove && apt-get clean
WORKDIR /airbyte
COPY entrypoint.sh .
COPY build/sshtunneling.sh .
WORKDIR /airbyte/normalization_code
COPY normalization ./normalization
COPY setup.py .
COPY dbt-project-template/ ./dbt-template/
COPY dbt-project-template-mssql/* ./dbt-template/
# Install python dependencies
WORKDIR /airbyte/base_python_structs
# workaround for https://github.com/yaml/pyyaml/issues/601
# this should be fixed in the airbyte/base-airbyte-protocol-python image
RUN pip install "Cython<3.0" "pyyaml==5.4" --no-build-isolation
RUN pip install .
WORKDIR /airbyte/normalization_code
RUN pip install .
# Based of https://github.com/dbt-msft/dbt-sqlserver/tree/v1.0.0
RUN pip install dbt-sqlserver==1.0.0
WORKDIR /airbyte/normalization_code/dbt-template/
# Download external dbt dependencies
RUN dbt deps
WORKDIR /airbyte
ENV AIRBYTE_ENTRYPOINT "/airbyte/entrypoint.sh"
ENTRYPOINT ["/airbyte/entrypoint.sh"]
LABEL io.airbyte.name=airbyte/normalization-mssql