diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..cc99d020 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +## Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.## +## Licensed under the Apache License, Version 2.0 (the "License"); +## you may not use this file except in compliance with the License. +## You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, +## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +## See the License for the specific language governing permissions and +## limitations under the License. +## + +FROM golang:1.21 AS builder + +ENV GO111MODULE=on \ + CGO_ENABLED=0 \ + GOOS=linux \ + GOARCH=amd64 + +WORKDIR /src +COPY . . + +RUN go build \ + -ldflags "-s -w -extldflags '-static'" \ + -o /bin/holodeck \ + ./cmd/main.go + +RUN echo "nobody:x:65534:65534:Nobody:/:" > /etc_passwd + +FROM scratch + +COPY --from=builder /etc_passwd /etc/passwd +COPY --from=builder --chown=65534:0 /bin/holodeck /holodeck + +USER nobody +ENTRYPOINT ["/holodeck"] \ No newline at end of file