Files
opsxsql/backend/Dockerfile
T
logan 9c457eb599 chore: Dockerfile gh-ost 版本更新 v1.1.9(macOS本地验证通过)
- gh-ost v1.1.9 真实执行验证通过(macOS arm64 + 远程MySQL)
- ALTER TABLE ADD COLUMN → gh-ost OK (6行表,~8秒完成)
- ALTER TABLE ADD INDEX → gh-ost OK
- ghost_enabled 默认 false,本地开发: ~/bin/gh-ost
2026-06-01 01:55:29 +08:00

24 lines
873 B
Docker

FROM golang:1.26-bookworm AS build
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=1 GOOS=linux go build -o opsxsql ./cmd/server/
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates sqlite3 curl && apt-get clean && rm -rf /var/lib/apt/lists/*
# Install gh-ost for online DDL
RUN GH_OST_VERSION=1.1.9 && \
curl -fsSL "https://github.com/github/gh-ost/releases/download/v${GH_OST_VERSION}/gh-ost-binary-linux-amd64-*.tar.gz" \
| tar xz -C /usr/local/bin gh-ost && chmod +x /usr/local/bin/gh-ost
WORKDIR /app
COPY --from=build /app/opsxsql .
COPY --from=build /app/cmd/server/seed.go /app/
COPY --from=build /app/config /app/config
COPY --from=build /app/internal /app/internal
COPY --from=build /app/router /app/router
COPY --from=build /app/sqlite3.db.bak-before-seed ./
EXPOSE 9000
CMD ["./opsxsql"]