Skip to content
Snippets Groups Projects
Dockerfile.debug 809 B
Newer Older
  • Learn to ignore specific revisions
  • Malte Bauch's avatar
    Malte Bauch committed
    # syntax = docker/dockerfile:1.2
    
    ARG GOLANG_VERSION=1.21
    
    FROM golang:$GOLANG_VERSION-alpine AS builder
    
    Malte Bauch's avatar
    Malte Bauch committed
    ARG GITLAB_USER
    ARG GITLAB_TOKEN
    ARG BUILDARGS
    WORKDIR /src/gosdn
    RUN apk add --no-cache git make build-base
    RUN git config --global url."https://$GITLAB_USER:$GITLAB_TOKEN@code.fbi.h-da.de".insteadOf "https://code.fbi.h-da.de"
    COPY go.mod .
    COPY go.sum .
    RUN go mod download
    COPY . .
    RUN --mount=type=cache,target=/root/.cache/go-build \
    GOOS=linux go build -o gosdn ./cmd/gosdn
    
    # Get Delve from a GOPATH not from a Go Modules project
    WORKDIR /go/src/
    RUN go get github.com/go-delve/delve/cmd/dlv
    
    FROM alpine
    EXPOSE 8080
    EXPOSE 55055
    EXPOSE 40000
    COPY --from=builder /src/gosdn /
    COPY --from=builder /go/bin/dlv /
    
    
    CMD ["/dlv", "--listen=:40000", "--headless=true", "--api-version=2", "exec", "/gosdn"]