vino/Dockerfile
Alexander Hughes f4336c9336 Documentation for dev env setup
This change:
- Updates the README with an explanation of SIP and ViNO, and steps
  to setting up a development environment for ViNO using the Airship
  charts/tools/gate/deploy-k8s.sh script
- Updates the Dockerfile to create a working ViNO image
- Updates the management Deployment to use the new image, and only
  pull that image if it is not present

Signed-off-by: Alexander Hughes <Alexander.Hughes@pm.me>
Change-Id: I6fbdd3302d49a65f05b20ec9593f500df23f1b33
2020-12-28 12:44:00 -05:00

31 lines
857 B
Docker

# Build the manager binary
FROM gcr.io/gcp-runtimes/go1-builder:1.13 as builder
ENV PATH "/usr/local/go/bin:$PATH"
WORKDIR /workspace
# Copy the Go Modules manifests
COPY go.mod go.mod
COPY go.sum go.sum
# cache deps before building and copying source so that we don't need to re-download as much
# and so that source changes don't invalidate our downloaded layer
RUN go mod download
# Copy the go source
COPY main.go main.go
COPY api/ api/
COPY controllers/ controllers/
# Build
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o manager main.go
# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
FROM gcr.io/distroless/static:nonroot
WORKDIR /
COPY --from=builder /workspace/manager .
USER nonroot:nonroot
ENTRYPOINT ["/manager"]