X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=mecm%2Fmepm%2Fapplcm%2Fk8shelm%2Fbuild%2FDockerfile;h=a0d8a8fc82378d2ff2d99b2a9a2943354dfc5fe1;hb=2ad840b5fc270d416e6d74118f0537646a78adeb;hp=0faf012b9ca06f240f81795d7f9633505cfff16e;hpb=3dde536b0a932c20f8eac9a1020d8723dff233f3;p=ealt-edge.git diff --git a/mecm/mepm/applcm/k8shelm/build/Dockerfile b/mecm/mepm/applcm/k8shelm/build/Dockerfile index 0faf012..a0d8a8f 100644 --- a/mecm/mepm/applcm/k8shelm/build/Dockerfile +++ b/mecm/mepm/applcm/k8shelm/build/Dockerfile @@ -12,10 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM golang:1.13.4-alpine3.10 +FROM golang:1.13.4-alpine3.10 as builder ENV GOPROXY https://goproxy.io ENV GO111MODULE on +ENV HOME=/go/release + +RUN mkdir -p $HOME WORKDIR /go/cache @@ -23,7 +26,7 @@ ADD go.mod . ADD go.sum . RUN go mod download -WORKDIR /go/release +WORKDIR $HOME RUN mkdir charts RUN mkdir kubeconfig @@ -32,9 +35,37 @@ ADD . . RUN GOOS=linux CGO_ENABLED=0 go build -ldflags="-s -w" -installsuffix cgo -o app cmd/helm/main.go -RUN cp app start.sh / +FROM golang:1.13.4-alpine3.10 -EXPOSE 50051 +RUN mkdir -p /go/release + +ENV HOME=/go/release +ENV APP_HOME=/go/release +ENV UID=166 +ENV GID=166 +ENV USER_NAME=ealtuser +ENV GROUP_NAME=ealtgroup + +RUN apk update &&\ + apk add shadow &&\ + groupadd -r -g $GID $GROUP_NAME &&\ + useradd -r -u $UID -g $GID -d $HOME -s /sbin/nologin -c "Docker image user" $USER_NAME &&\ + chown -R $USER_NAME:$GROUP_NAME $HOME + +WORKDIR $APP_HOME -CMD ["/start.sh"] +USER $USER_NAME + +COPY --chown=ealtuser:ealtgroup --from=builder $HOME/app $APP_HOME +COPY --chown=ealtuser:ealtgroup --from=builder $HOME/start.sh $APP_HOME + +RUN mkdir charts +RUN mkdir kubeconfig + +RUN chmod 750 $HOME &&\ + chmod 550 $HOME/app &&\ + chmod 550 $HOME/start.sh + +EXPOSE 50051 +ENTRYPOINT ["./app"]