它曾经是,这将需要两个多克的图像,但码头工人的支持multi-stage builds最新版本。这将使您能够通过一个Dockerfile
实现您的目标。
您可以阅读链接的文档以了解详细信息,但想法是您的Dockerfile
分为多个阶段,每个阶段都以新的FROM
行开始。只有最后一个阶段用于生成最终的输出图像,并且它可以通过索引从其他阶段访问文件系统。从文档的例子:
FROM golang:1.7.3
WORKDIR /go/src/github.com/alexellis/href-counter/
RUN go get -d -v golang.org/x/net/html
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 /root/
COPY --from=0 /go/src/github.com/alexellis/href-counter/app .
CMD ["./app"]
这里,第一阶段建立一个围棋应用,而第二级建立与所述编译的可执行文件的图像,它使用--from=0
参数从第一级拷贝到COPY
指令。
请张贴代码让其他人可以帮助你。 [https://stackoverflow.com/help/how-to-ask](https://stackoverflow.com/help/how-to-ask) – jfeferman