37 lines
1005 B
PowerShell
37 lines
1005 B
PowerShell
# 构建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
|
|
} |