...

Text file src/github.com/GoogleCloudPlatform/cloudsql-proxy/Dockerfile.alpine

Documentation: github.com/GoogleCloudPlatform/cloudsql-proxy

     1# Copyright 2020 Google LLC
     2#
     3# Licensed under the Apache License, Version 2.0 (the "License");
     4# you may not use this file except in compliance with the License.
     5# You may obtain a copy of the License at
     6#
     7#      http://www.apache.org/licenses/LICENSE-2.0
     8#
     9# Unless required by applicable law or agreed to in writing, software
    10# distributed under the License is distributed on an "AS IS" BASIS,
    11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12# See the License for the specific language governing permissions and
    13# limitations under the License.
    14
    15# Use the latest stable golang 1.x to compile to a binary
    16FROM golang:1 as build
    17
    18WORKDIR /go/src/cloudsql-proxy
    19COPY . .
    20
    21RUN go get ./...
    22RUN go build -ldflags "-X main.metadataString=container.alpine" -o cloud_sql_proxy ./cmd/cloud_sql_proxy
    23
    24# Final stage
    25FROM alpine:3
    26RUN apk add --no-cache \ 
    27    ca-certificates \
    28    libc6-compat
    29# Install fuse and allow enable non-root users to mount
    30RUN apk add --no-cache fuse && sed -i 's/^#user_allow_other$/user_allow_other/g' /etc/fuse.conf
    31# Add a non-root user matching the nonroot user from the main container
    32RUN addgroup -g 65532 -S nonroot && adduser -u 65532 -S nonroot -G nonroot
    33# Set the uid as an integer for compatibility with runAsNonRoot in Kubernetes
    34USER 65532
    35
    36COPY --from=build --chown=nonroot /go/src/cloudsql-proxy/cloud_sql_proxy /cloud_sql_proxy

View as plain text