From 7d1812974a3933906340ab497441613906ac3c39 Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Sun, 12 Oct 2025 22:38:04 -0400 Subject: [PATCH 1/8] fix(docker): Move USER and ENV directives after image flattening in clp-package Dockerfile (fixes #1379); Reduce layers using multi-line ENV (fixes #1378). --- tools/docker-images/clp-package/Dockerfile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index 9d1bc5c71e..4dbafc16e4 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -10,15 +10,15 @@ RUN ./setup-scripts/install-prebuilt-packages.sh \ RUN apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -ENV CLP_HOME="/opt/clp" -ENV PATH="${CLP_HOME}/bin:${PATH}" -ENV PATH="${CLP_HOME}/sbin:${PATH}" -ENV PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" - -USER 1000:1000 - COPY ./build/clp-package /opt/clp # Flatten the image FROM scratch COPY --from=base / / + +ENV CLP_HOME="/opt/clp" +ENV PATH="${CLP_HOME}/bin:${PATH}" \ + PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" +ENV PATH="${CLP_HOME}/sbin:${PATH}" + +USER 1000:1000 From 3195ef03f5105054d7f1488c6b18277ebeffb66b Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Tue, 14 Oct 2025 01:51:09 -0400 Subject: [PATCH 2/8] feat(docker): Update clp-package Dockerfile; add non-root user and set working directory. --- tools/docker-images/clp-package/Dockerfile | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index 4dbafc16e4..3bd45031dd 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -1,7 +1,5 @@ FROM ubuntu:jammy AS base -WORKDIR /root - COPY ./tools/docker-images/clp-package/setup-scripts ./setup-scripts RUN ./setup-scripts/install-prebuilt-packages.sh \ && rm -rf ./setup-scripts/ @@ -10,15 +8,19 @@ RUN ./setup-scripts/install-prebuilt-packages.sh \ RUN apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -COPY ./build/clp-package /opt/clp - # Flatten the image FROM scratch COPY --from=base / / ENV CLP_HOME="/opt/clp" +COPY ./build/clp-package ${CLP_HOME} + ENV PATH="${CLP_HOME}/bin:${PATH}" \ PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" ENV PATH="${CLP_HOME}/sbin:${PATH}" -USER 1000:1000 +# Create a non-root user. +ENV USER="clp-user" +RUN useradd --uid 1000 --shell /bin/bash --home-dir ${CLP_HOME} ${USER} +USER ${USER} +WORKDIR ${CLP_HOME} From 18a1b18fa0c836b02da45b9c3967cd0f659bf0db Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Tue, 14 Oct 2025 02:27:58 -0400 Subject: [PATCH 3/8] fix(docker): Reorder and restructure ENV directives in clp-package Dockerfile. --- tools/docker-images/clp-package/Dockerfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index 3bd45031dd..ccd02402a3 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -15,12 +15,11 @@ COPY --from=base / / ENV CLP_HOME="/opt/clp" COPY ./build/clp-package ${CLP_HOME} -ENV PATH="${CLP_HOME}/bin:${PATH}" \ +ENV PATH="${CLP_HOME}/bin:${PATH}" +ENV PATH="${CLP_HOME}/sbin:${PATH}" \ PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" -ENV PATH="${CLP_HOME}/sbin:${PATH}" + USER="clp-user" -# Create a non-root user. -ENV USER="clp-user" RUN useradd --uid 1000 --shell /bin/bash --home-dir ${CLP_HOME} ${USER} USER ${USER} WORKDIR ${CLP_HOME} From 3ef8714b53ce78a57c1c9867c0a94ec7cd198823 Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Tue, 14 Oct 2025 02:28:22 -0400 Subject: [PATCH 4/8] add \ --- tools/docker-images/clp-package/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index ccd02402a3..625ba8e044 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -17,7 +17,7 @@ COPY ./build/clp-package ${CLP_HOME} ENV PATH="${CLP_HOME}/bin:${PATH}" ENV PATH="${CLP_HOME}/sbin:${PATH}" \ - PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" + PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" \ USER="clp-user" RUN useradd --uid 1000 --shell /bin/bash --home-dir ${CLP_HOME} ${USER} From b3e673fa95e94f7a2249585326a6a0e4cb4f8213 Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Mon, 20 Oct 2025 16:46:12 -0400 Subject: [PATCH 5/8] fix(docker): Use `--link` flag in COPY command for clp-package Dockerfile. --- tools/docker-images/clp-package/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index b3e5a0e166..5ca3e3d6c0 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -17,7 +17,7 @@ FROM scratch COPY --link --from=base / / ENV CLP_HOME="/opt/clp" -COPY ./build/clp-package ${CLP_HOME} +COPY --link ./build/clp-package ${CLP_HOME} ENV PATH="${CLP_HOME}/bin:${PATH}" ENV PATH="${CLP_HOME}/sbin:${PATH}" \ From 65f2d1b98a0565af279de1b794f9a696bfccc912 Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Mon, 20 Oct 2025 16:48:03 -0400 Subject: [PATCH 6/8] fix(docker): Reorder COPY command in clp-package Dockerfile --- tools/docker-images/clp-package/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index 5ca3e3d6c0..38e0c45d18 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -17,13 +17,13 @@ FROM scratch COPY --link --from=base / / ENV CLP_HOME="/opt/clp" -COPY --link ./build/clp-package ${CLP_HOME} - ENV PATH="${CLP_HOME}/bin:${PATH}" ENV PATH="${CLP_HOME}/sbin:${PATH}" \ PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" \ USER="clp-user" +COPY --link ./build/clp-package ${CLP_HOME} + RUN useradd --uid 1000 --shell /bin/bash --home-dir ${CLP_HOME} ${USER} USER ${USER} WORKDIR ${CLP_HOME} From b5222125727b49cc8266eae956e35cf4fdf5a981 Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Mon, 20 Oct 2025 17:03:41 -0400 Subject: [PATCH 7/8] fix(docker): Add ARG for UID and set ownership in COPY command for clp-package Dockerfile. --- tools/docker-images/clp-package/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index 38e0c45d18..4a8a5b2c40 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -16,14 +16,15 @@ RUN apt-get clean \ FROM scratch COPY --link --from=base / / +ARG UID=1000 ENV CLP_HOME="/opt/clp" ENV PATH="${CLP_HOME}/bin:${PATH}" ENV PATH="${CLP_HOME}/sbin:${PATH}" \ PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" \ USER="clp-user" -COPY --link ./build/clp-package ${CLP_HOME} - -RUN useradd --uid 1000 --shell /bin/bash --home-dir ${CLP_HOME} ${USER} +RUN useradd --uid ${UID} --shell /bin/bash --home-dir ${CLP_HOME} ${USER} USER ${USER} WORKDIR ${CLP_HOME} + +COPY --link --chown=${UID} ./build/clp-package ${CLP_HOME} From 2967a64050c2782c82aa649fd00c4faa1223fdef Mon Sep 17 00:00:00 2001 From: Junhao Liao Date: Thu, 23 Oct 2025 09:57:56 -0400 Subject: [PATCH 8/8] merge ENVs --- tools/docker-images/clp-package/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/docker-images/clp-package/Dockerfile b/tools/docker-images/clp-package/Dockerfile index 4a8a5b2c40..35a047b5fe 100644 --- a/tools/docker-images/clp-package/Dockerfile +++ b/tools/docker-images/clp-package/Dockerfile @@ -18,8 +18,7 @@ COPY --link --from=base / / ARG UID=1000 ENV CLP_HOME="/opt/clp" -ENV PATH="${CLP_HOME}/bin:${PATH}" -ENV PATH="${CLP_HOME}/sbin:${PATH}" \ +ENV PATH="${CLP_HOME}/sbin:${CLP_HOME}/bin:${PATH}" \ PYTHONPATH="${CLP_HOME}/lib/python3/site-packages" \ USER="clp-user"