登陆

凭借东西优化Dockerfile分层

admin 2019-10-31 187人围观 ,发现0个评论

借助minid工具优化Dockerfile分层

今天分享给大家一个工具:minid

工具下载直接访问github搜索:minid

功能介绍

借助该工具可以优化Dockerfile,将Dockerfile的分层减少,从而达到使镜像变小的目的

该工具主要是分析RUN,ENV等指令,将能合并分层的指令进行自动化分层,比如:

RUN cd /path/to/dir

RUN yum install python

两条指令可以合并为:

RUN cd /path/to/dir && yum install python

官方的实例

$ cat Dockerfile # 8 layers
F凭借东西优化Dockerfile分层ROM golang:1.10-alpine3.8 AS build
ENV DEP_VERSION 0.4.1
WORKDIR /go/src/github.com/orisano/gobase
RUN apk add --no-cache git make mailcap tzdata
RUN wget -O /usr/local/bin/dep https://github.com/golang/dep/releases/download/v${DEP_VERSION}/dep-linux-amd64 && chmod +x /usr/local/bin/dep
RUN wget -O /usr/local/bin/depinst https:凭借东西优化Dockerfile分层//github.com/orisano/depinst/releases/download/1.0.1/depinst-linux-amd64 && chmod +x /usr/local/bin/depinst
COPY Gopkg.lock Gopkg.toml ./
RUN dep ensure -vendor-only
ENV CGO_ENABLED=0
ENV GO_LDFLAGS="-extldflags='-static'"
RUN go build -i ./vendor/...
COPY . .
RUN make build

$ minid # 6 layers
FROM golang:1.10-alpine3.8 AS build
ENV DEP_VERSION=0.4.1
WORKDIR /go/src/github.com/orisano/gobase
RUN apk add --no-cache git make mailcap tzdata && wget -O /usr/local/bin/dep https://github.com/golang/凭借东西优化Dockerfile分层dep/releases/download/v${DEP_VERSION}/dep-linux-amd64 && chmod +x /usr/local/bin/dep && wget -O /usr/local/bin/depinst https://github.com/orisano/depinst/releases/downloa不可能完成的任务d/1.0.1/depinst-linux-amd64 && chmod +x /usr/local/bin/depinst
COPY Gopkg.lock Gopkg.toml ./
RUN dep ensure -vendor-only
ENV CGO_ENABLED=0 GO_LDFLAGS="-extldflags='-static'"
RUN go build -i凭借东西优化Dockerfile分层 ./vendor/...
COPY . .
RUN make build
  • 今晚油价有改变!加满一箱油多花2.5元
  • 极彩彩票-北京5G用户增速显着 10天时刻用超4万
  • 请关注微信公众号
    微信二维码
    不容错过
    Powered By Z-BlogPHP