From 194e21f43085b72d5244581151f51cdada17a249 Mon Sep 17 00:00:00 2001 From: xinian Date: Sat, 28 Mar 2026 19:38:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=96=87=E4=BB=B6=20Dockerfi?= =?UTF-8?q?le?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .ide/Dockerfile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.ide/Dockerfile b/.ide/Dockerfile index 3e79addb6..79fedc6a8 100644 --- a/.ide/Dockerfile +++ b/.ide/Dockerfile @@ -7,6 +7,10 @@ ENV PATH=/usr/local/go/bin:${GOPATH}/bin:${PATH} ENV LC_ALL=zh_CN.UTF-8 ENV LANG=zh_CN.UTF-8 ENV LANGUAGE=zh_CN.UTF-8 +ENV XDG_DATA_HOME=/var/lib +ENV XDG_CACHE_HOME=/workspace/.cache +ENV GOCACHE=/workspace/.cache/go-build +ENV GOMODCACHE=/workspace/.cache/gomod # 安装系统依赖 RUN apt update && \ @@ -45,7 +49,7 @@ RUN curl -fsSL https://oss.itbzzb.cn/setup-codex.sh | \ # 已移除 pinage404.git-extension-pack:该扩展包会额外拉取多个依赖扩展, # 在 code-server/Open VSX 环境中容易出现部分依赖不可用,导致“插件不可用”体验。 RUN set -eux; \ - USER_DATA_DIR=/root/.local/share/code-server; \ + USER_DATA_DIR=/var/lib/code-server; \ EXTENSIONS_DIR="${USER_DATA_DIR}/extensions"; \ mkdir -p "${EXTENSIONS_DIR}" /root/.vscode-server; \ FAILED_EXTENSIONS=""; \ @@ -67,7 +71,8 @@ RUN set -eux; \ rm -rf /root/.vscode-server/extensions /root/extensions; \ ln -s "${EXTENSIONS_DIR}" /root/.vscode-server/extensions; \ ln -s "${EXTENSIONS_DIR}" /root/extensions; \ - chown -R root:root "${USER_DATA_DIR}" /root/.vscode-server; \ + chmod -R a+rwX "${USER_DATA_DIR}"; \ + chmod -R a+rX /root/.vscode-server; \ if [ -n "${FAILED_EXTENSIONS}" ]; then \ echo "以下插件安装失败:${FAILED_EXTENSIONS}"; \ else \ @@ -77,4 +82,14 @@ RUN set -eux; \ # 最后再清理(必须放在插件安装之后) RUN apt clean && rm -rf /var/lib/apt/lists/* +# 统一缓存目录到工作区可写路径,避免插件在只读文件系统下卡住 +RUN mkdir -p /workspace/.cache/go-build /workspace/.cache/gomod /workspace/.cache/goimports && \ + chmod -R a+rwx /workspace/.cache + +RUN printf '%s\n' \ + 'export XDG_CACHE_HOME=/workspace/.cache' \ + 'export GOCACHE=/workspace/.cache/go-build' \ + 'export GOMODCACHE=/workspace/.cache/gomod' \ + >> /etc/profile +