diff --git a/docker/Dockerfile.debian13.minimal b/docker/Dockerfile.debian13.minimal index 8b10e3b..e9eebd5 100644 --- a/docker/Dockerfile.debian13.minimal +++ b/docker/Dockerfile.debian13.minimal @@ -14,5 +14,6 @@ RUN sed -i 's@deb.debian.org@mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.li && apt-get install -y --no-install-recommends \ tzdata git curl wget vim htop ca-certificates rsync \ && curl https://mise.run | MISE_INSTALL_PATH=/usr/local/bin/mise sh \ + && mkdir -p /opt/mise-base \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /root/.cache/mise /opt/mise-base/cache/* diff --git a/docker/docker-entrypoint.minimal.sh b/docker/docker-entrypoint.minimal.sh index 71d98a4..7779b39 100644 --- a/docker/docker-entrypoint.minimal.sh +++ b/docker/docker-entrypoint.minimal.sh @@ -27,10 +27,14 @@ mkdir -p \ # ============================ # Mise 环境初始化 # ============================ -log "Syncing mise environment from base..." mkdir -p "$MISE_DIR" -rsync -a --ignore-existing /opt/mise-base/ "$MISE_DIR/" || true -log "Mise environment synced" +if [ -d "/opt/mise-base" ]; then + log "Syncing mise environment from base..." + rsync -a --ignore-existing /opt/mise-base/ "$MISE_DIR/" || true + log "Mise environment synced" +else + log "No base mise environment found, skipping sync" +fi # ============================ # 环境变量注入 diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 2c5b237..e74f6a1 100644 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -28,11 +28,15 @@ mkdir -p \ # Mise 环境初始化 # ============================ # 始终尝试同步基础环境(以补充用户挂载卷中可能缺失的文件,如 config.toml) -log "Syncing mise environment from base..." mkdir -p "$MISE_DIR" -# 使用 rsync 同步: -a 归档模式, --ignore-existing 不覆盖已存在文件 -rsync -a --ignore-existing /opt/mise-base/ "$MISE_DIR/" || true -log "Mise environment synced" +if [ -d "/opt/mise-base" ]; then + log "Syncing mise environment from base..." + # 使用 rsync 同步: -a 归档模式, --ignore-existing 不覆盖已存在文件 + rsync -a --ignore-existing /opt/mise-base/ "$MISE_DIR/" || true + log "Mise environment synced" +else + log "No base mise environment found, skipping sync" +fi # ============================ # 环境变量注入