refactor(scripts): 优化docker部署脚本以支持固定镜像ID

修改部署脚本以优先使用固定镜像ID,若不存在则回退到原有逻辑
This commit is contained in:
zhouyonggao 2025-12-02 17:18:40 +08:00
parent d245d3bce8
commit a75dac591f
1 changed files with 17 additions and 13 deletions

View File

@ -6,18 +6,22 @@ IMAGE="marketing-system-data-tool"
TAG="$ENV_NAME" TAG="$ENV_NAME"
PORT="${PORT:-8077}" PORT="${PORT:-8077}"
cd "$ROOT_DIR" cd "$ROOT_DIR"
if docker image inspect "$IMAGE:$TAG" >/dev/null 2>&1; then FIXED_IMG_ID="254602263cd6"
echo "使用已有镜像作为缓存: $IMAGE:$TAG" if docker image inspect "$FIXED_IMG_ID" >/dev/null 2>&1; then
DOCKER_BUILDKIT=1 docker build \ USE_IMAGE="$FIXED_IMG_ID"
--build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg GOPROXY="${GOPROXY:-https://goproxy.cn,direct}" \
--cache-from "$IMAGE:$TAG" -t "$IMAGE:$TAG" -f Dockerfile .
else else
echo "镜像不存在,开始构建: $IMAGE:$TAG" if docker image inspect "$IMAGE:$TAG" >/dev/null 2>&1; then
DOCKER_BUILDKIT=1 docker build \ DOCKER_BUILDKIT=1 docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \ --build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg GOPROXY="${GOPROXY:-https://goproxy.cn,direct}" \ --build-arg GOPROXY="${GOPROXY:-https://goproxy.cn,direct}" \
-t "$IMAGE:$TAG" -f Dockerfile . --cache-from "$IMAGE:$TAG" -t "$IMAGE:$TAG" -f Dockerfile .
else
DOCKER_BUILDKIT=1 docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg GOPROXY="${GOPROXY:-https://goproxy.cn,direct}" \
-t "$IMAGE:$TAG" -f Dockerfile .
fi
USE_IMAGE="$IMAGE:$TAG"
fi fi
mkdir -p log storage/export mkdir -p log storage/export
CID_NAME="marketing-data-$ENV_NAME" CID_NAME="marketing-data-$ENV_NAME"
@ -40,5 +44,5 @@ docker run -d \
-v "$ROOT_DIR/storage/export:/app/storage/export" \ -v "$ROOT_DIR/storage/export:/app/storage/export" \
-v "$ROOT_DIR/log:/app/log" \ -v "$ROOT_DIR/log:/app/log" \
-v "$CONFIG_PATH:/app/server/config.yaml:ro" \ -v "$CONFIG_PATH:/app/server/config.yaml:ro" \
"$IMAGE:$TAG" "$USE_IMAGE"
echo "container: $CID_NAME image: $IMAGE:$TAG port: $PORT" echo "container: $CID_NAME image: $USE_IMAGE port: $PORT"