我们来应用multi-stage来build一下上述例子:
- # docker build -t myrepo/myhttserver-multi-stage:latest .
- Sending build context to Docker daemon 3.072kB
- Step 1/9 : FROM golang:alpine as builder
- ---> 9e3f14138abd
- Step 2/9 : WORKDIR /go/src
- ---> Using cache
- ---> 7a99431d1be6
- Step 3/9 : COPY httpserver.go .
- ---> 43a196658e09
- Step 4/9 : RUN go build -o myhttpserver ./httpserver.go
- ---> Running in 9e7b46f68e88
- ---> 90dc73912803
- Removing intermediate container 9e7b46f68e88
- Step 5/9 : FROM alpine:latest
- ---> 053cde6e8953
- Step 6/9 : WORKDIR /root/
- ---> Using cache
- ---> 30d95027ee6a
- Step 7/9 : COPY --from=builder /go/src/myhttpserver .
- ---> f1620b64c1ba
- Step 8/9 : RUN chmod +x /root/myhttpserver
- ---> Running in e62809993a22
- ---> 6be6c28f5fd6
- Removing intermediate container e62809993a22
- Step 9/9 : ENTRYPOINT /root/myhttpserver
- ---> Running in e4000d1dde3d
- ---> 639cec396c96
- Removing intermediate container e4000d1dde3d
- Successfully built 639cec396c96
- Successfully tagged myrepo/myhttserver-multi-stage:latest
- # docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- myrepo/myhttserver-multi-stage latest 639cec396c96 About an hour ago 16.3MB
我们来Run一下这个image:
四、小结

【编辑推荐】
- 看来Kubernetes将一统世界?Docker也无法幸免
- Docker应用OpenStack Cinder持久化volume道理分析及实践
- 58同崇高可用Docker容器云平台的技巧演进之路
- 左耳朵耗子:Go说话,Docker和新技巧
推荐阅读
Mobile Pwn2Own世界黑客大赛攻破iOS11,iPhone X被远程越狱
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 信赖会有越来越多的年青人参加到收集安然行业中来,以“没有收集安然就没有国度安然”为指导,>>>详细阅读
本文标题:理解Docker的多阶段镜像构建
地址:http://www.17bianji.com/lsqh/38807.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示