run?
##
## 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 /app
RUN mkdir -p /app/static
COPY ./main.go ./
COPY ./form.html /app/static
RUN go get -d -v ./... && \
CGO_ENABLED=0 GOOS=linux go build \
-a -installsuffix cgo -o ./app . && \
chmod 755 ./app
RUN go mod download
RUN go mod verify
RUN GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ./app
##
## Deploy
##
FROM scratch
WORKDIR /app
COPY --from=builder /etc/passwd /etc/passwd
COPY --from=builder /etc/group /etc/group
COPY --from=builder /app/app ./
USER appuser:appuser
EXPOSE 8080
ENTRYPOINT ["./app"]
А что пишет? И как запускаешь контейнер?
Привет. Ничего не пишу. Экзамен сдаю. Ничерта не получается с этими путями (( Сейчас докерфайл такой ## ## 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 RUN mkdir -p /app/static COPY ./main.go /src RUN go mod download RUN 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 /app/app . COPY ./form.html /app/static USER appuser:appuser EXPOSE 8080 ENTRYPOINT ["./app"] Запускаю так docker run -d --name task1 -p 8080:8080 -t task1:1.12.5 На выходе `docker inspect task1 | grep Error "Error": "failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: \"./app\": permission denied: unknown",`
Найди, где лежит файловая система контейнера (через docker inspect), и посмотри на права внутри
Обсуждают сегодня