Merge pull request 'build(deploy): replace pre-compiled arm64 binaries with multi-stage Go compilation for amd64' (#2) from feat/k8s-amd64-dockerfiles into main

Reviewed-on: https://forgejo.cheverjohn.me/Business/muyuqingfeng-apiserver/pulls/2
This commit is contained in:
Chenwei Jiang 2026-06-14 15:12:16 +08:00
commit c5ab2279c0
4 changed files with 33 additions and 9 deletions

View File

@ -1,7 +1,15 @@
FROM alpine:3.19 FROM golang:1.24-alpine AS builder
RUN apk add --no-cache git
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /server ./gateway/gateway.go
FROM alpine:3.20
RUN apk add --no-cache ca-certificates tzdata RUN apk add --no-cache ca-certificates tzdata
WORKDIR /app WORKDIR /app
COPY deploy/bin/gateway . COPY --from=builder /server ./gateway
COPY deploy/etc/gateway.yaml etc/gateway.yaml COPY deploy/etc/gateway.yaml etc/gateway.yaml
EXPOSE 8888 EXPOSE 8888
CMD ["./gateway", "-f", "etc/gateway.yaml"] CMD ["./gateway", "-f", "etc/gateway.yaml"]

View File

@ -1,7 +1,15 @@
FROM alpine:3.19 FROM golang:1.24-alpine AS builder
RUN apk add --no-cache git
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /server ./rpc/inventory/inventory.go
FROM alpine:3.20
RUN apk add --no-cache ca-certificates tzdata RUN apk add --no-cache ca-certificates tzdata
WORKDIR /app WORKDIR /app
COPY deploy/bin/inventory . COPY --from=builder /server ./inventory
COPY deploy/etc/inventory.yaml etc/inventory.yaml COPY deploy/etc/inventory.yaml etc/inventory.yaml
EXPOSE 9002 EXPOSE 9002
CMD ["./inventory", "-f", "etc/inventory.yaml"] CMD ["./inventory", "-f", "etc/inventory.yaml"]

View File

@ -1,7 +1,15 @@
FROM alpine:3.19 FROM golang:1.24-alpine AS builder
RUN apk add --no-cache git
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /server ./rpc/system/system.go
FROM alpine:3.20
RUN apk add --no-cache ca-certificates tzdata RUN apk add --no-cache ca-certificates tzdata
WORKDIR /app WORKDIR /app
COPY deploy/bin/system . COPY --from=builder /server ./system
COPY deploy/etc/system.yaml etc/system.yaml COPY deploy/etc/system.yaml etc/system.yaml
EXPOSE 9001 EXPOSE 9001
CMD ["./system", "-f", "etc/system.yaml"] CMD ["./system", "-f", "etc/system.yaml"]

View File

@ -8,7 +8,7 @@ services:
MYSQL_DATABASE: muyu_wms MYSQL_DATABASE: muyu_wms
TZ: Asia/Shanghai TZ: Asia/Shanghai
ports: ports:
- "3306:3306" - "${MYSQL_PORT:-13306}:3306"
volumes: volumes:
- ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql - ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
- ../data/mysql:/var/lib/mysql - ../data/mysql:/var/lib/mysql
@ -24,7 +24,7 @@ services:
container_name: muyu-redis container_name: muyu-redis
restart: always restart: always
ports: ports:
- "6379:6379" - "${REDIS_PORT:-16379}:6379"
volumes: volumes:
- ../data/redis:/data - ../data/redis:/data
healthcheck: healthcheck:
@ -127,7 +127,7 @@ services:
container_name: muyu-nginx container_name: muyu-nginx
restart: always restart: always
ports: ports:
- "8080:80" - "${NGINX_PORT:-18080}:80"
volumes: volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
- ../../muyu-portal/dist:/usr/share/nginx/html - ../../muyu-portal/dist:/usr/share/nginx/html