我的 DockerFile 正在.go錯誤的目錄中查找檔案,它需要查看名為的子目錄app
這是我的檔案夾設定,父檔案夾是 my-app
my-app/
├─ app/
│ ├─ api
│ ├─ go.mod
│ ├─ go.sum
│ ├─ main.go
DockerFile
Docker 檔案:
# syntax=docker/dockerfile:1
FROM golang:1.16-alpine
WORKDIR /app
COPY go.mod ./
COPY go.sum ./
RUN go mod download
COPY *.go ./
RUN go build -o /docker-gs-ping
EXPOSE 8080
CMD [ "/docker-gs-ping" ]
至于現在 DockerFile 正在尋找 DockerFilego所在目錄中的檔案,而不是在app子目錄中。我在哪里可以解決這個問題?
uj5u.com熱心網友回復:
這是構建輕量級 docker 映像的可能解決方案
# syntax=docker/dockerfile:1
FROM golang:1.16-alpine as builder
ENV GO111MODULE=on \
CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64
WORKDIR /app
COPY app/* ./
RUN go mod download
RUN go build -o /docker-gs-pings *.go
EXPOSE 8080
FROM scratch
EXPOSE 8080
COPY --from=builder /docker-gs-pings /
CMD [ "/docker-gs-pings" ]
uj5u.com熱心網友回復:
據我了解它應該是這樣的,基本上將所有內容復制到應用程式,運行下載和構建命令。
# syntax=docker/dockerfile:1
FROM golang:1.16-alpine
WORKDIR /app
COPY app/ .
RUN go mod download
RUN go build -o /docker-gs-ping
EXPOSE 8080
CMD [ "/docker-gs-ping" ]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/378417.html
