mirror of
https://github.com/nicolargo/glances.git
synced 2025-12-23 22:18:31 -05:00
Merge branch 'issue3359_Improve_DockerFile' into develop
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
# WARNING: the Alpine image version and Python version should be set.
|
||||
# Alpine 3.18 tag is a link to the latest 3.18.x version.
|
||||
# Be aware that if you change the Alpine version, you may have to change the Python version.
|
||||
ARG IMAGE_VERSION=3.22
|
||||
ARG IMAGE_VERSION=3.23
|
||||
ARG PYTHON_VERSION=3.12
|
||||
|
||||
##############################################################################
|
||||
@@ -61,9 +61,6 @@ RUN apk add --no-cache \
|
||||
RUN python${PYTHON_VERSION} -m venv venv-build
|
||||
RUN /venv-build/bin/python${PYTHON_VERSION} -m pip install --upgrade pip
|
||||
|
||||
RUN python${PYTHON_VERSION} -m venv venv-build
|
||||
RUN /venv-build/bin/python${PYTHON_VERSION} -m pip install --upgrade pip
|
||||
|
||||
RUN python${PYTHON_VERSION} -m venv --without-pip venv
|
||||
|
||||
COPY pyproject.toml docker-requirements.txt all-requirements.txt ./
|
||||
@@ -105,17 +102,18 @@ COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# Copy binary and update PATH
|
||||
COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# EXPOSE PORT (XMLRPC / WebUI)
|
||||
EXPOSE 61209 61208
|
||||
|
||||
# Add glances user
|
||||
# RUN addgroup -g 1000 glances && \
|
||||
# adduser -D -u 1000 -G glances glances && \
|
||||
# chown -R glances:glances /app
|
||||
|
||||
# Define default command.
|
||||
WORKDIR /app
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python3 -m glances ${GLANCES_OPT}"]
|
||||
ENV PYTHON_VERSION=${PYTHON_VERSION}
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python${PYTHON_VERSION} -m glances ${GLANCES_OPT}"]
|
||||
|
||||
################################################################################
|
||||
# RELEASE: minimal
|
||||
@@ -123,6 +121,8 @@ FROM release AS minimal
|
||||
|
||||
COPY --from=buildminimal /venv /venv
|
||||
|
||||
# USER glances
|
||||
|
||||
################################################################################
|
||||
# RELEASE: full
|
||||
FROM release AS full
|
||||
@@ -131,6 +131,8 @@ RUN apk add --no-cache libzmq
|
||||
|
||||
COPY --from=buildfull /venv /venv
|
||||
|
||||
# USER glances
|
||||
|
||||
################################################################################
|
||||
# RELEASE: dev - to be compatible with CI
|
||||
FROM full AS dev
|
||||
@@ -140,5 +142,8 @@ FROM full AS dev
|
||||
COPY ./docker-files/docker-logger.json /app
|
||||
ENV LOG_CFG=/app/docker-logger.json
|
||||
|
||||
# USER glances
|
||||
|
||||
WORKDIR /app
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python3 -m glances ${GLANCES_OPT}"]
|
||||
ENV PYTHON_VERSION=${PYTHON_VERSION}
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python${PYTHON_VERSION} -m glances ${GLANCES_OPT}"]
|
||||
|
||||
@@ -89,17 +89,21 @@ COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# Copy binary and update PATH
|
||||
COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# EXPOSE PORT (XMLRPC / WebUI)
|
||||
EXPOSE 61209 61208
|
||||
|
||||
# Add glances user
|
||||
# NOTE: If used, the Glances Docker plugin do not work...
|
||||
# UID and GUID 1000 are already configured for the ubuntu user
|
||||
# Create anew one with UID and GUID 1001
|
||||
# RUN groupadd -g 1001 glances && \
|
||||
# useradd -u 1001 -g glances glances && \
|
||||
# chown -R glances:glances /app
|
||||
|
||||
# Define default command.
|
||||
WORKDIR /app
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python3 -m glances ${GLANCES_OPT}"]
|
||||
ENV PYTHON_VERSION=${PYTHON_VERSION}
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python${PYTHON_VERSION} -m glances ${GLANCES_OPT}"]
|
||||
|
||||
################################################################################
|
||||
# RELEASE: minimal
|
||||
@@ -108,6 +112,8 @@ ARG PYTHON_VERSION
|
||||
|
||||
COPY --from=buildMinimal /venv /venv
|
||||
|
||||
# USER glances
|
||||
|
||||
################################################################################
|
||||
# RELEASE: full
|
||||
FROM release AS full
|
||||
@@ -120,6 +126,8 @@ RUN apt-get update \
|
||||
|
||||
COPY --from=buildfull /venv /venv
|
||||
|
||||
# USER glances
|
||||
|
||||
################################################################################
|
||||
# RELEASE: dev - to be compatible with CI
|
||||
FROM full AS dev
|
||||
@@ -130,5 +138,8 @@ ARG PYTHON_VERSION
|
||||
COPY ./docker-files/docker-logger.json /app
|
||||
ENV LOG_CFG=/app/docker-logger.json
|
||||
|
||||
# USER glances
|
||||
|
||||
WORKDIR /app
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python3 -m glances ${GLANCES_OPT}"]
|
||||
ENV PYTHON_VERSION=${PYTHON_VERSION}
|
||||
CMD ["/bin/sh", "-c", "/venv/bin/python${PYTHON_VERSION} -m glances ${GLANCES_OPT}"]
|
||||
|
||||
Reference in New Issue
Block a user