summaryrefslogtreecommitdiffstats
path: root/docker-files/debian.Dockerfile
diff options
context:
space:
mode:
authorMarkus Pöschl <Poeschl@users.noreply.github.com>2021-05-14 13:32:32 +0200
committerMarkus Pöschl <Poeschl@users.noreply.github.com>2021-05-15 14:38:37 +0200
commit781c9961cb26da0821f6fc460e1fc1640cb5f8ec (patch)
tree27fdaed3b06cdee069b9b8a7c62fd86ed403c71e /docker-files/debian.Dockerfile
parent89d3cb09d883e552a894ebfcd7a66758ce042d74 (diff)
Migrate to multistaged Dockerfile for debian images.
Diffstat (limited to 'docker-files/debian.Dockerfile')
-rw-r--r--docker-files/debian.Dockerfile56
1 files changed, 56 insertions, 0 deletions
diff --git a/docker-files/debian.Dockerfile b/docker-files/debian.Dockerfile
new file mode 100644
index 00000000..75e60c7c
--- /dev/null
+++ b/docker-files/debian.Dockerfile
@@ -0,0 +1,56 @@
+#
+# Glances Dockerfile (based on Debian)
+#
+# https://github.com/nicolargo/glances
+#
+
+ARG ARCH
+FROM ${ARCH}python:3.9-slim-buster as build
+
+# Install package
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends \
+ python3-dev \
+ curl \
+ gcc \
+ lm-sensors \
+ wireless-tools \
+ iputils-ping && \
+ apt-get clean && rm -rf /var/lib/apt/lists/*
+
+# Force rebuild otherwise it could be cached without rerun
+ARG VCS_REF
+RUN pip3 install --no-cache-dir --user glances[all]
+
+FROM build as additional-packages
+
+COPY *requirements.txt .
+
+RUN CASS_DRIVER_NO_CYTHON=1 pip3 install --no-cache-dir --user -r optional-requirements.txt
+
+
+#Create running image without any building dependency
+FROM ${ARCH}python:3.9-slim-buster as minimal
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends \
+ curl \
+ lm-sensors \
+ wireless-tools \
+ iputils-ping && \
+ apt-get clean && rm -rf /var/lib/apt/lists/*
+
+COPY --from=build /root/.local/bin /usr/local/bin/
+COPY --from=build /root/.local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages/
+
+# EXPOSE PORT (XMLRPC / WebUI)
+EXPOSE 61209 61208
+
+# Define default command.
+CMD python3 -m glances -C /glances/conf/glances.conf $GLANCES_OPT
+
+
+FROM minimal as full
+
+COPY --from=additional-packages /root/.local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages/
+