From aa8f054fa382c2aee00e36a017099fe335f04084 Mon Sep 17 00:00:00 2001 From: Jack Luo Date: Thu, 8 Jan 2026 11:51:51 +0800 Subject: [PATCH] feat(docker): add build configuration options for manylinux containers - Add ALMALINUX_MIRROR build arg for package mirrors - Add QUAY_MIRROR build arg for base image registry - Add USE_NETWORK_HOST option for --network=host mode --- .../clp-env-base-manylinux_2_28-aarch64/Dockerfile | 10 +++++++++- .../clp-env-base-manylinux_2_28-aarch64/build.sh | 6 ++++++ .../clp-env-base-manylinux_2_28-x86_64/Dockerfile | 10 +++++++++- .../clp-env-base-manylinux_2_28-x86_64/build.sh | 6 ++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/Dockerfile b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/Dockerfile index 3fb9747253..2a9f34c8ec 100644 --- a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/Dockerfile +++ b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/Dockerfile @@ -1,9 +1,17 @@ # syntax=docker/dockerfile:1 -FROM quay.io/pypa/manylinux_2_28_aarch64 +ARG QUAY_MIRROR=quay.io +FROM ${QUAY_MIRROR}/pypa/manylinux_2_28_aarch64 WORKDIR /root +ARG ALMALINUX_MIRROR +RUN if [ -n "${ALMALINUX_MIRROR}" ]; then \ + sed -i -e 's|^mirrorlist=|#mirrorlist=|g' \ + -e "s|^# baseurl=https://repo.almalinux.org|baseurl=https://${ALMALINUX_MIRROR}|g" \ + /etc/yum.repos.d/almalinux*.repo; \ + fi + RUN mkdir -p ./tools/scripts/lib_install COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install diff --git a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/build.sh b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/build.sh index 326823254d..9ffcc9de53 100755 --- a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/build.sh +++ b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/build.sh @@ -10,12 +10,18 @@ component_root="${script_dir}/../../../" build_cmd=( docker buildx build --platform linux/arm64 + --build-arg "ALMALINUX_MIRROR=${ALMALINUX_MIRROR:-}" + --build-arg "QUAY_MIRROR=${QUAY_MIRROR:-quay.io}" --tag clp-core-dependencies-aarch64-manylinux_2_28:dev "$component_root" --file "${script_dir}/Dockerfile" --load ) +if [[ "${USE_NETWORK_HOST:-}" == "true" ]]; then + build_cmd+=(--network=host) +fi + if command -v git >/dev/null && git -C "$script_dir" rev-parse --is-inside-work-tree >/dev/null ; then build_cmd+=( diff --git a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/Dockerfile b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/Dockerfile index 4d2fb54b0f..1d279a9701 100644 --- a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/Dockerfile +++ b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/Dockerfile @@ -1,9 +1,17 @@ # syntax=docker/dockerfile:1 -FROM quay.io/pypa/manylinux_2_28_x86_64 +ARG QUAY_MIRROR=quay.io +FROM ${QUAY_MIRROR}/pypa/manylinux_2_28_x86_64 WORKDIR /root +ARG ALMALINUX_MIRROR +RUN if [ -n "${ALMALINUX_MIRROR}" ]; then \ + sed -i -e 's|^mirrorlist=|#mirrorlist=|g' \ + -e "s|^# baseurl=https://repo.almalinux.org|baseurl=https://${ALMALINUX_MIRROR}|g" \ + /etc/yum.repos.d/almalinux*.repo; \ + fi + RUN mkdir -p ./tools/scripts/lib_install COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install diff --git a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/build.sh b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/build.sh index 09c875ea07..57ad9de44f 100755 --- a/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/build.sh +++ b/components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/build.sh @@ -10,12 +10,18 @@ component_root="${script_dir}/../../../" build_cmd=( docker buildx build --platform linux/amd64 + --build-arg "ALMALINUX_MIRROR=${ALMALINUX_MIRROR:-}" + --build-arg "QUAY_MIRROR=${QUAY_MIRROR:-quay.io}" --tag clp-core-dependencies-x86-manylinux_2_28:dev "$component_root" --file "${script_dir}/Dockerfile" --load ) +if [[ "${USE_NETWORK_HOST:-}" == "true" ]]; then + build_cmd+=(--network=host) +fi + if command -v git >/dev/null && git -C "$script_dir" rev-parse --is-inside-work-tree >/dev/null ; then build_cmd+=(