# build front-end FROM node AS web_image RUN npm install pnpm -g WORKDIR /build COPY ./package.json /build COPY ./pnpm-lock.yaml /build RUN pnpm install COPY . /build RUN pnpm run build # build backend FROM golang:1.19 as server_image WORKDIR /build COPY ./service . # 执行指令 关闭链接确认 RUN go env -w GO111MODULE=on \ && go env -w GOPROXY=https://goproxy.cn,direct \ && export PATH=$PATH:/go/bin \ && go install -a -v github.com/go-bindata/go-bindata/...@latest \ && go install -a -v github.com/elazarl/go-bindata-assetfs/...@latest \ && go-bindata-assetfs -o=assets/bindata.go -pkg=assets assets/... \ && go build -o sun-panel --ldflags="-X sun-panel/global.RUNCODE=release -X sun-panel/global.ISDOCKER=docker" main.go # run_image FROM ubuntu WORKDIR /app COPY --from=web_image /build/dist /app/web COPY --from=server_image /build/sun-panel /app/sun-panel RUN apt-get update && apt-get install -y ca-certificates &&./sun-panel -config CMD ./sun-panel