From 43ffc1d6e59f2d118c730e968e032fcecbeaf202 Mon Sep 17 00:00:00 2001 From: Mavlushechka Date: Sat, 24 Sep 2022 00:07:19 +0500 Subject: Copy docker/getting-started repository --- Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Dockerfile (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4b43f6d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,41 @@ +# Install the base requirements for the app. +# This stage is to support development. +FROM python:alpine AS base +WORKDIR /app +COPY requirements.txt . +RUN pip install -r requirements.txt + +FROM node:12-alpine AS app-base +WORKDIR /app +COPY app/package.json app/yarn.lock ./ +COPY app/spec ./spec +COPY app/src ./src + +# Run tests to validate app +FROM app-base AS test +RUN apk add --no-cache python3 g++ make +RUN yarn install +RUN yarn test + +# Clear out the node_modules and create the zip +FROM app-base AS app-zip-creator +COPY app/package.json app/yarn.lock ./ +COPY app/spec ./spec +COPY app/src ./src +RUN apk add zip && \ + zip -r /app.zip /app + +# Dev-ready container - actual files will be mounted in +FROM base AS dev +CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"] + +# Do the actual build of the mkdocs site +FROM base AS build +COPY . . +RUN mkdocs build + +# Extract the static content from the build +# and use a nginx image to serve the content +FROM nginx:alpine +COPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zip +COPY --from=build /app/site /usr/share/nginx/html -- cgit v1.2.3