diff --git a/airbyte-integrations/connectors/destination-scaffold-destination-python/Dockerfile b/airbyte-integrations/connectors/destination-scaffold-destination-python/Dockerfile index 4c7712e7418..69b70ff0c38 100644 --- a/airbyte-integrations/connectors/destination-scaffold-destination-python/Dockerfile +++ b/airbyte-integrations/connectors/destination-scaffold-destination-python/Dockerfile @@ -1,13 +1,30 @@ -FROM python:3.7.11-alpine3.14 +FROM python:3.7.11-alpine3.14 as base + +# build and load all requirements +FROM base as builder +WORKDIR /airbyte/integration_code + +# upgrade pip to the latest version +RUN apk --no-cache upgrade \ + && pip install --upgrade pip + +COPY setup.py ./ +# install necessary packages to a temporary folder +RUN pip install --prefix=/install . + +# build a clean environment +FROM base +WORKDIR /airbyte/integration_code + +# copy all loaded and built libraries to a pure basic image +COPY --from=builder /install /usr/local # Bash is installed for more convenient debugging. -RUN apt-get update && apt-get install -y bash && rm -rf /var/lib/apt/lists/* +RUN apk --no-cache add bash -WORKDIR /airbyte/integration_code -COPY destination_scaffold_destination_python ./destination_scaffold_destination_python +# copy payload code only COPY main.py ./ -COPY setup.py ./ -RUN pip install . +COPY destination_scaffold_destination_python ./destination_scaffold_destination_python ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] diff --git a/airbyte-integrations/connectors/source-scaffold-source-http/Dockerfile b/airbyte-integrations/connectors/source-scaffold-source-http/Dockerfile index 80c23ca8cbe..adeffecf880 100644 --- a/airbyte-integrations/connectors/source-scaffold-source-http/Dockerfile +++ b/airbyte-integrations/connectors/source-scaffold-source-http/Dockerfile @@ -1,13 +1,30 @@ -FROM python:3.7-slim +FROM python:3.7.11-alpine3.14 as base + +# build and load all requirements +FROM base as builder +WORKDIR /airbyte/integration_code + +# upgrade pip to the latest version +RUN apk --no-cache upgrade \ + && pip install --upgrade pip + +COPY setup.py ./ +# install necessary packages to a temporary folder +RUN pip install --prefix=/install . + +# build a clean environment +FROM base +WORKDIR /airbyte/integration_code + +# copy all loaded and built libraries to a pure basic image +COPY --from=builder /install /usr/local # Bash is installed for more convenient debugging. -RUN apt-get update && apt-get install -y bash && rm -rf /var/lib/apt/lists/* +RUN apk --no-cache add bash -WORKDIR /airbyte/integration_code -COPY source_scaffold_source_http ./source_scaffold_source_http +# copy payload code only COPY main.py ./ -COPY setup.py ./ -RUN pip install . +COPY source_scaffold_source_http ./source_scaffold_source_http ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] diff --git a/airbyte-integrations/connectors/source-scaffold-source-python/Dockerfile b/airbyte-integrations/connectors/source-scaffold-source-python/Dockerfile index 0e9355be835..0ce8bceb1fe 100644 --- a/airbyte-integrations/connectors/source-scaffold-source-python/Dockerfile +++ b/airbyte-integrations/connectors/source-scaffold-source-python/Dockerfile @@ -1,13 +1,30 @@ -FROM python:3.7-slim +FROM python:3.7.11-alpine3.14 as base + +# build and load all requirements +FROM base as builder +WORKDIR /airbyte/integration_code + +# upgrade pip to the latest version +RUN apk --no-cache upgrade \ + && pip install --upgrade pip + +COPY setup.py ./ +# install necessary packages to a temporary folder +RUN pip install --prefix=/install . + +# build a clean environment +FROM base +WORKDIR /airbyte/integration_code + +# copy all loaded and built libraries to a pure basic image +COPY --from=builder /install /usr/local # Bash is installed for more convenient debugging. -RUN apt-get update && apt-get install -y bash && rm -rf /var/lib/apt/lists/* +RUN apk --no-cache add bash -WORKDIR /airbyte/integration_code -COPY source_scaffold_source_python ./source_scaffold_source_python +# copy payload code only COPY main.py ./ -COPY setup.py ./ -RUN pip install . +COPY source_scaffold_source_python ./source_scaffold_source_python ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]