# 构建Docker镜像脚本 # 编码: UTF-8 # 设置变量 $IMAGE_NAME = "libreoffice-micro" $IMAGE_TAG = "v1" $DOCKERFILE = "./DockerfileForLocal" # 构建镜像 Write-Host "build docker file starting: ${IMAGE_NAME}:${IMAGE_TAG}" # 构建编译文件 go env -w GOPROXY=https://goproxy.cn,direct go mod tidy # 用环境变量强制交叉编译为 Linux amd64 静态二进制,不修改全局 go env $env:GOOS = "linux" $env:GOARCH = "amd64" $env:CGO_ENABLED = "0" go build -ldflags="-extldflags '-static'" -o ./build/app ./cmd/app.go $env:GOOS = "" $env:GOARCH = "" $env:CGO_ENABLED = "" try { docker build -f $DOCKERFILE -t "${IMAGE_NAME}:${IMAGE_TAG}" . if ($LASTEXITCODE -eq 0) { Write-Host "镜像构建成功: ${IMAGE_NAME}:${IMAGE_TAG}" Write-Host "查看镜像: docker images | findstr $IMAGE_NAME" } else { Write-Host "镜像构建失败" exit 1 } } catch { Write-Host "构建过程中出现错误: $($_.Exception.Message)" exit 1 }