|
@@ -1,11 +1,26 @@
|
|
|
-FROM tiangolo/uvicorn-gunicorn-fastapi:python3.9-slim
|
|
|
|
|
|
|
+# syntax = docker/dockerfile:1.4
|
|
|
|
|
|
|
|
-WORKDIR /app
|
|
|
|
|
|
|
+FROM tiangolo/uvicorn-gunicorn-fastapi:python3.9-slim AS builder
|
|
|
|
|
|
|
|
-RUN apt update
|
|
|
|
|
|
|
+WORKDIR /app
|
|
|
|
|
|
|
|
COPY requirements.txt ./
|
|
COPY requirements.txt ./
|
|
|
-RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
|
|
|
+RUN --mount=type=cache,target=/root/.cache/pip \
|
|
|
|
|
+ pip install -r requirements.txt
|
|
|
|
|
|
|
|
COPY ./app ./app
|
|
COPY ./app ./app
|
|
|
|
|
|
|
|
|
|
+FROM builder as dev-envs
|
|
|
|
|
+
|
|
|
|
|
+RUN <<EOF
|
|
|
|
|
+apt-get update
|
|
|
|
|
+apt-get install -y --no-install-recommends git
|
|
|
|
|
+EOF
|
|
|
|
|
+
|
|
|
|
|
+RUN <<EOF
|
|
|
|
|
+useradd -s /bin/bash -m vscode
|
|
|
|
|
+groupadd docker
|
|
|
|
|
+usermod -aG docker vscode
|
|
|
|
|
+EOF
|
|
|
|
|
+# install Docker tools (cli, buildx, compose)
|
|
|
|
|
+COPY --from=gloursdocker/docker / /
|