X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=mecm%2Fmepm%2Fapplcm%2Fbroker%2Fbuild%2FDockerfile;h=7991e573b2563099777c87bb6e554e2f2baaeb39;hb=2ad840b5fc270d416e6d74118f0537646a78adeb;hp=8a7e2ae18b7ce5d13211d09784c66bb4717533df;hpb=3dde536b0a932c20f8eac9a1020d8723dff233f3;p=ealt-edge.git diff --git a/mecm/mepm/applcm/broker/build/Dockerfile b/mecm/mepm/applcm/broker/build/Dockerfile index 8a7e2ae..7991e57 100644 --- a/mecm/mepm/applcm/broker/build/Dockerfile +++ b/mecm/mepm/applcm/broker/build/Dockerfile @@ -12,31 +12,60 @@ # 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 apk update && apk upgrade && \ apk add --no-cache bash git openssh +RUN mkdir -p $HOME + WORKDIR /go/cache ADD go.mod . ADD go.sum . RUN go mod download -WORKDIR /go/release +WORKDIR $HOME RUN mkdir -p /go/release/application/packages ADD . . RUN GOOS=linux CGO_ENABLED=0 go build -ldflags="-s -w" -installsuffix cgo -o app cmd/broker/main.go -RUN cp app start.sh / +FROM golang:1.13.4-alpine3.10 + +RUN mkdir -p /go/release -EXPOSE 8081 +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 -CMD ["/start.sh"] +WORKDIR $APP_HOME +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 -p /go/release/application/packages + +RUN chmod 750 $HOME &&\ + chmod 550 $HOME/app &&\ + chmod 550 $HOME/start.sh + +EXPOSE 8081 +ENTRYPOINT ["./app"]