我们可以在Dockerfile中用--no-cache连接多个RUN指令吗

时间:2020-07-23 01:15:59

标签: go dockerfile

我正在编写一个Dockerfile,我将几个RUN指令串联在一起以进行适当的缓存,但是我意识到其中一条带有--no-cache的RUN指令。您能否告知缓存如何在这里工作。

RUN go mod download \
&& apk update --no-cache \
&& apk add git \
&& CGO_ENABLED=0 go build -o golang-sdk .

1 个答案:

答案 0 :(得分:1)

remove from season没有意义。罢工并将git install修改为

apk update --no-cache

甚至更好:进行两阶段构建:

RUN apk add git --no-cache \
&& go mod download \
&& CGO_ENABLED=0 go build -o golang-sdk .

这样,您可以在构建时完成所有喜欢的工作,而无需考虑图像大小,并且可以将FROM golang:latest AS build WORKDIR /go/src/github.com/you/project/ RUN [yourstuff] COPY app.go . RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app . FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /usr/local/bin COPY --from=build /go/src/github.com/you/project/app . CMD ["/usr/local/bin/app"] 的图像最小化。

相关问题