32 lines
708 B
Docker
32 lines
708 B
Docker
|
FROM golang:1.21.0-alpine3.18 as builder
|
||
|
|
||
|
ARG VERSION=v0.0.0
|
||
|
|
||
|
RUN apk add --no-cache make gcc musl-dev linux-headers git jq bash
|
||
|
|
||
|
# build op-node with the shared go.mod & go.sum files
|
||
|
COPY ./op-node /app/op-node
|
||
|
COPY ./op-chain-ops /app/op-chain-ops
|
||
|
COPY ./op-service /app/op-service
|
||
|
COPY ./op-plasma /app/op-plasma
|
||
|
COPY ./op-conductor /app/op-conductor
|
||
|
COPY ./go.mod /app/go.mod
|
||
|
COPY ./go.sum /app/go.sum
|
||
|
COPY ./.git /app/.git
|
||
|
|
||
|
WORKDIR /app/op-node
|
||
|
|
||
|
RUN go mod download
|
||
|
|
||
|
ARG TARGETOS TARGETARCH
|
||
|
|
||
|
RUN make op-node VERSION="$VERSION" GOOS=$TARGETOS GOARCH=$TARGETARCH
|
||
|
|
||
|
FROM alpine:3.18
|
||
|
|
||
|
RUN apk add --no-cache openssl jq bash curl
|
||
|
|
||
|
COPY --from=builder /app/op-node/bin/op-node /usr/local/bin
|
||
|
|
||
|
CMD ["op-node"]
|