mirror of https://github.com/nicolargo/glances.git
Merge branch 'issue3359_Improve_DockerFile' into develop
This commit is contained in:
commit
be199ef044
|
|
@ -9,7 +9,7 @@
|
||||||
# WARNING: the Alpine image version and Python version should be set.
|
# 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.
|
# 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.
|
# 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
|
ARG PYTHON_VERSION=3.12
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
@ -61,9 +61,6 @@ RUN apk add --no-cache \
|
||||||
RUN python${PYTHON_VERSION} -m venv venv-build
|
RUN python${PYTHON_VERSION} -m venv venv-build
|
||||||
RUN /venv-build/bin/python${PYTHON_VERSION} -m pip install --upgrade pip
|
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
|
RUN python${PYTHON_VERSION} -m venv --without-pip venv
|
||||||
|
|
||||||
COPY pyproject.toml docker-requirements.txt all-requirements.txt ./
|
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
|
RUN chmod a+x /usr/local/bin/glances
|
||||||
ENV PATH="/venv/bin:$PATH"
|
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 PORT (XMLRPC / WebUI)
|
||||||
EXPOSE 61209 61208
|
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.
|
# Define default command.
|
||||||
WORKDIR /app
|
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
|
# RELEASE: minimal
|
||||||
|
|
@ -123,6 +121,8 @@ FROM release AS minimal
|
||||||
|
|
||||||
COPY --from=buildminimal /venv /venv
|
COPY --from=buildminimal /venv /venv
|
||||||
|
|
||||||
|
# USER glances
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# RELEASE: full
|
# RELEASE: full
|
||||||
FROM release AS full
|
FROM release AS full
|
||||||
|
|
@ -131,6 +131,8 @@ RUN apk add --no-cache libzmq
|
||||||
|
|
||||||
COPY --from=buildfull /venv /venv
|
COPY --from=buildfull /venv /venv
|
||||||
|
|
||||||
|
# USER glances
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# RELEASE: dev - to be compatible with CI
|
# RELEASE: dev - to be compatible with CI
|
||||||
FROM full AS dev
|
FROM full AS dev
|
||||||
|
|
@ -140,5 +142,8 @@ FROM full AS dev
|
||||||
COPY ./docker-files/docker-logger.json /app
|
COPY ./docker-files/docker-logger.json /app
|
||||||
ENV LOG_CFG=/app/docker-logger.json
|
ENV LOG_CFG=/app/docker-logger.json
|
||||||
|
|
||||||
|
# USER glances
|
||||||
|
|
||||||
WORKDIR /app
|
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
|
RUN chmod a+x /usr/local/bin/glances
|
||||||
ENV PATH="/venv/bin:$PATH"
|
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 PORT (XMLRPC / WebUI)
|
||||||
EXPOSE 61209 61208
|
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.
|
# Define default command.
|
||||||
WORKDIR /app
|
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
|
# RELEASE: minimal
|
||||||
|
|
@ -108,6 +112,8 @@ ARG PYTHON_VERSION
|
||||||
|
|
||||||
COPY --from=buildMinimal /venv /venv
|
COPY --from=buildMinimal /venv /venv
|
||||||
|
|
||||||
|
# USER glances
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# RELEASE: full
|
# RELEASE: full
|
||||||
FROM release AS full
|
FROM release AS full
|
||||||
|
|
@ -120,6 +126,8 @@ RUN apt-get update \
|
||||||
|
|
||||||
COPY --from=buildfull /venv /venv
|
COPY --from=buildfull /venv /venv
|
||||||
|
|
||||||
|
# USER glances
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# RELEASE: dev - to be compatible with CI
|
# RELEASE: dev - to be compatible with CI
|
||||||
FROM full AS dev
|
FROM full AS dev
|
||||||
|
|
@ -130,5 +138,8 @@ ARG PYTHON_VERSION
|
||||||
COPY ./docker-files/docker-logger.json /app
|
COPY ./docker-files/docker-logger.json /app
|
||||||
ENV LOG_CFG=/app/docker-logger.json
|
ENV LOG_CFG=/app/docker-logger.json
|
||||||
|
|
||||||
|
# USER glances
|
||||||
|
|
||||||
WORKDIR /app
|
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}"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue