From d9dac3fe1a9e3b92d000f71bc55d4d406b45ee4b Mon Sep 17 00:00:00 2001 From: Alan Jean Date: Tue, 31 Jan 2023 19:45:15 +0400 Subject: [PATCH] =?UTF-8?q?feat(inference):=20add=20a=20prod=20stage=20to?= =?UTF-8?q?=20the=20worker's=20dockerfile=20=F0=9F=90=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/inference/Dockerfile.worker | 43 +++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/docker/inference/Dockerfile.worker b/docker/inference/Dockerfile.worker index 85bd9ebf..06f040ab 100644 --- a/docker/inference/Dockerfile.worker +++ b/docker/inference/Dockerfile.worker @@ -22,7 +22,7 @@ RUN --mount=type=cache,target=/var/cache/pip \ -FROM python:3.10-alpine3.17 as dev +FROM python:3.10-alpine3.17 as base-env ARG APP_USER ARG APP_RELATIVE_PATH ARG MODULE @@ -42,25 +42,44 @@ RUN adduser \ --no-create-home \ "${APP_USER}" +USER ${APP_USER} WORKDIR ${APP_ROOT} -COPY --chown="${APP_USER}:${APP_USER}" ./oasst-shared ${SHARED_LIBS_BASE}/oasst-shared -RUN --mount=type=cache,target=/var/cache/pip,from=build \ - pip install \ - --cache-dir=/var/cache/pip \ - -e "${SHARED_LIBS_BASE}/oasst-shared" - - -USER ${APP_USER} - - COPY --chown="${APP_USER}:${APP_USER}" --from=build /build/lib ${APP_LIBS} COPY --chown="${APP_USER}:${APP_USER}" ./${APP_RELATIVE_PATH}/__main__.py . +CMD python3 __main__.py --backend-url "${BACKEND_URL}" --inference-server-url "${INFERENCE_SERVER_URL}" + + + +FROM base-env as dev +ARG APP_USER + + +COPY --chown="${APP_USER}:${APP_USER}" ./oasst-shared ${SHARED_LIBS_BASE}/oasst-shared + +USER root +RUN --mount=type=cache,target=/var/cache/pip,from=build \ + pip install \ + --cache-dir=/var/cache/pip \ + -e "${SHARED_LIBS_BASE}/oasst-shared" +USER ${APP_USER} + + VOLUME [ "${APP_BASE}/lib/oasst-shared" ] -CMD python3 __main__.py --backend-url "${BACKEND_URL}" --inference-server-url "${INFERENCE_SERVER_URL}" + +FROM base-env as prod +ARG APP_USER + + +COPY --chown="${APP_USER}:${APP_USER}" ./oasst-shared /tmp/lib/oasst-shared +RUN --mount=type=cache,target=/var/cache/pip,from=dev \ + pip install \ + --cache-dir=/var/cache/pip \ + --target="${APP_LIBS}" \ + /tmp/lib/oasst-shared