X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/8e0803e7e5acabdd28b80258f15d8aebf11fbb4c..0b62b9c9a44a995e44d64ecf7cc08d8d7037642d:/Dockerfile?ds=sidebyside

diff --git a/Dockerfile b/Dockerfile
index 9542479..4e8f12f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,14 +1,19 @@
-FROM python:3-slim
+FROM python:3-slim AS builder
 
 RUN mkdir /src
 COPY . /src/
-RUN pip install --no-cache-dir --upgrade pip setuptools wheel \
-    && apt update && apt install -y git \
+ENV VIRTUAL_ENV=/opt/venv
+RUN python -m venv $VIRTUAL_ENV
+RUN . /opt/venv/bin/activate && pip install --no-cache-dir --upgrade pip setuptools wheel \
+    # Install build tools to compile dependencies that don't have prebuilt wheels
+    && apt update && apt install -y git build-essential \
     && cd /src \
-    && pip install --no-cache-dir .[colorama,d] \
-    && rm -rf /src \
-    && apt remove -y git \
-    && apt autoremove -y \
-    && rm -rf /var/lib/apt/lists/*
+    && pip install --no-cache-dir .[colorama,d]
+
+FROM python:3-slim
+
+# copy only Python packages to limit the image size
+COPY --from=builder /opt/venv /opt/venv
+ENV PATH="/opt/venv/bin:$PATH"
 
-CMD ["black"]
+CMD ["/opt/venv/bin/black"]