2023-12-20 10:10:30 -08:00
|
|
|
FROM --platform=linux/amd64 docker.io/golang:1.20.7-bullseye@sha256:74b09b3b6fa5aa542df8ef974cb745eb477be72f6fcf821517fb410aff532b00 AS build
|
2022-09-07 11:43:05 -07:00
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
2023-03-07 11:25:42 -08:00
|
|
|
COPY fly fly
|
|
|
|
COPY common common
|
2022-09-07 11:43:05 -07:00
|
|
|
|
2022-12-14 12:07:55 -08:00
|
|
|
# Build the Go app
|
2023-03-07 11:25:42 -08:00
|
|
|
RUN cd fly && CGO_ENABLED=1 GOOS=linux go build -o "./fly" main.go && \
|
2023-01-24 04:45:07 -08:00
|
|
|
go get github.com/CosmWasm/wasmvm@v1.0.0 && \
|
|
|
|
cp /go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.0.0/api/libwasmvm.x86_64.so /usr/lib/
|
|
|
|
|
2022-09-07 11:43:05 -07:00
|
|
|
|
2022-12-14 12:07:55 -08:00
|
|
|
############################
|
|
|
|
# STEP 2 build a small image
|
|
|
|
############################
|
|
|
|
FROM alpine
|
|
|
|
#Copy certificates
|
|
|
|
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
2023-01-24 04:45:07 -08:00
|
|
|
#Copy libraries
|
|
|
|
COPY --from=build /lib/* /lib/
|
|
|
|
COPY --from=build /lib64/* /lib64/
|
|
|
|
COPY --from=build /usr/lib/libwasmvm.x86_64.so /usr/lib/
|
|
|
|
#Copy our static executable.
|
2023-03-07 11:25:42 -08:00
|
|
|
COPY --from=build "/app/fly/fly" "/fly"
|
2023-01-24 04:45:07 -08:00
|
|
|
|
2022-12-14 12:07:55 -08:00
|
|
|
# Run the binary.
|
2022-09-07 11:43:05 -07:00
|
|
|
ENTRYPOINT ["/fly"]
|