Не подскажете, из-за чего такая низкая оценка?
##
## Build
##
FROM golang:1.12.5-alpine AS builder
RUN apk update && apk add --no-cache
ENV USER=appuser
ENV UID=10001
RUN adduser \
--disabled-password \
--gecos "" \
--home "nonexistent" \
--shell "/sbin/nologin" \
--no-create-home \
--uid "${UID}" \
"${USER}"
WORKDIR /src/app
COPY ./main.go /src/app
RUN go mod download && go mod verify
RUN go get -d -v ./... && \
CGO_ENABLED=0 GOOS=linux go build \
-a -o app . && \
chmod 755 app
##
## Deploy
##
FROM scratch
WORKDIR /app
COPY --from=builder /etc/passwd /etc/passwd
COPY --from=builder /etc/group /etc/group
COPY --from=builder /src/app/app .
COPY ./form.html /app/static/form.html
USER appuser:appuser
EXPOSE 8080
ENTRYPOINT ["./app"]
ENV USER=appuser ENV UID=10001 RUN adduser \ --disabled-password \ --gecos "" \ --home "nonexistent" \ --shell "/sbin/nologin" \ --no-create-home \ --uid "${UID}" \ "${USER}" WORKDIR /src/app
Что здесь не так?
почему ты юзера захардкодил (не безопасно )
Это пример из Слёрма типа как правильно надо делать
а если подумать почему env на прямую прописывать в докер файл плохая идея ?
вообще это банальная штука к чему могут придраться допустим если ты работаешь в какой нибудь сфере телекомуникации ИБ отдел может не погладить по голове . Второе к чему возможно было бы придраться почему COPY нельзя было сделать перечислением (но это вкусовщина )
вообще бы верхний блок вынес бы в отдельный .sh скрипт на инит какой нибудь
Обсуждают сегодня