From c1a3be92ae1a66e294fca6495d07d7ccc2832c01 Mon Sep 17 00:00:00 2001 From: jingrow Date: Tue, 4 Nov 2025 01:19:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Dockerfile=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E4=BB=A3=E7=90=86=E4=B9=9F=E8=83=BD=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jcloud/docker/Dockerfile | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/jcloud/docker/Dockerfile b/jcloud/docker/Dockerfile index 071d523..dc25a80 100644 --- a/jcloud/docker/Dockerfile +++ b/jcloud/docker/Dockerfile @@ -154,32 +154,25 @@ RUN --mount=type=cache,target=/var/cache/apt {{ p.after_install }} \ # symlink mysqldump to mariadb-dump -RUN ln -s /usr/bin/mysqldump /usr/bin/mariadb-dump +RUN test -f /usr/bin/mariadb-dump || ln -s /usr/bin/mysqldump /usr/bin/mariadb-dump -# Switch to jingrow -USER jingrow WORKDIR /home/jingrow - -# Install Node using NVM -ENV NVM_DIR /home/jingrow/.nvm -ENV {{ pg.get_dependency_version("nvm", True) }} +# Install Node using NodeSource (as root to avoid GitHub access via nvm) ENV {{ pg.get_dependency_version("node", True) }} - -RUN wget https://raw.githubusercontent.com/nvm-sh/nvm/v${NVM_VERSION}/install.sh \ - && bash install.sh \ - && . "/home/jingrow/.nvm/nvm.sh" \ - && nvm install ${NODE_VERSION} \ - && nvm use v${NODE_VERSION} \ - && nvm alias default v${NODE_VERSION} \ - && rm install.sh \ - && nvm cache clear \ +USER root +RUN NODE_MAJOR=$(echo ${NODE_VERSION} | cut -d. -f1) \ + && curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash - \ + && apt-get update \ + && apt-get install --yes --no-install-suggests --no-install-recommends nodejs \ + && rm -rf /var/lib/apt/lists/* \ `#stage-pre-node` -ENV PATH "$PATH:/home/jingrow/.nvm/versions/node/v${NODE_VERSION}/bin" +# Install Yarn globally +RUN npm install -g yarn `#stage-pre-yarn` -# Install Yarn -RUN --mount=type=cache,target=/home/jingrow/.cache,uid=1000,gid=1000 npm install -g yarn `#stage-pre-yarn` +# Switch back to jingrow +USER jingrow # Install Bench