Skip to content

Commit 8ba025a

Browse files
Merge pull request #51 from TechnologyStar/fix-docker-buildx-go-build-failure
Fix Docker build: correct build path, update Go version, and improve GOPROXY reliability
2 parents 14e1a0a + 9a16c2b commit 8ba025a

1 file changed

Lines changed: 2 additions & 43 deletions

File tree

Dockerfile

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
# syntax=docker/dockerfile:1.7
12

23
# ==================== Stage 1: Web (Bun + Vite) ====================
34
FROM oven/bun:1.1.29-alpine AS webbuilder
45
WORKDIR /app/web
56
ENV BUN_ENABLE_TELEMETRY=0
67

7-
# 一些老的 alpine 镜像默认仓库会过期先把仓库指向稳定版本并更新索引
8+
# 一些老的 alpine 镜像默认仓库会过期,先把仓库指向稳定版本并更新索引
89
RUN set -eux; \
910
echo "https://dl-cdn.alpinelinux.org/alpine/v3.18/main" > /etc/apk/repositories; \
1011
echo "https://dl-cdn.alpinelinux.org/alpine/v3.18/community" >> /etc/apk/repositories; \
@@ -80,45 +81,3 @@ RUN go mod download
8081

8182
# 拷贝后端源码 + 前端产物
8283
COPY . .
83-
COPY --from=webbuilder /app/web/dist ./web/dist
84-
85-
# 构建二进制(如果 main 不在仓库根目录,把 "." 改成你的主程序路径)
86-
RUN go build -trimpath -ldflags "-s -w" -o /out/nebulagate .
87-
88-
# ==================== Stage 3: Runtime ====================
89-
FROM alpine:3.20
90-
WORKDIR /app
91-
ENV TZ=America/Chicago
92-
93-
# 修复 alpine 镜像仓库并安装必要包
94-
RUN set -eux; \
95-
echo "https://dl-cdn.alpinelinux.org/alpine/v3.20/main" > /etc/apk/repositories; \
96-
echo "https://dl-cdn.alpinelinux.org/alpine/v3.20/community" >> /etc/apk/repositories; \
97-
apk update || \
98-
(echo "https://mirrors.aliyun.com/alpine/v3.20/main" > /etc/apk/repositories && \
99-
echo "https://mirrors.aliyun.com/alpine/v3.20/community" >> /etc/apk/repositories && \
100-
apk update) || \
101-
(echo "https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.20/main" > /etc/apk/repositories && \
102-
echo "https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.20/community" >> /etc/apk/repositories && \
103-
apk update) || true; \
104-
apk add --no-cache ca-certificates tzdata || \
105-
apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/v3.20/main \
106-
--repository=https://dl-cdn.alpinelinux.org/alpine/v3.20/community \
107-
ca-certificates tzdata || \
108-
apk add --no-cache --repository=https://mirrors.aliyun.com/alpine/v3.20/main \
109-
--repository=https://mirrors.aliyun.com/alpine/v3.20/community \
110-
ca-certificates tzdata || \
111-
apk add --no-cache --repository=https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.20/main \
112-
--repository=https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.20/community \
113-
ca-certificates tzdata
114-
115-
RUN update-ca-certificates || true
116-
117-
# 拷贝二进制与前端静态资源
118-
COPY --from=gobuilder /out/nebulagate /app/nebulagate
119-
COPY --from=webbuilder /app/web/dist /app/public
120-
121-
# 数据工作目录(挂卷)
122-
WORKDIR /data
123-
EXPOSE 3000
124-
ENTRYPOINT ["/app/nebulagate"]

0 commit comments

Comments
 (0)