docker小技巧
 

  • 不必要的内容不要放在镜像中
  • 减少不必要的层文件
  • 减少网络传输操作
  • 可以适当的包含一些调试命令

busybox命令集

针对docker镜像没有基础调试命令可以使用busybox工具

chmod +x busybox-x86_64
docker cp busybox-x86_64  cmdb:/usr/src/app

 ./busybox-x86_64  netstat -pntl
 ./busybox-x86_64  top

多阶构建

基础镜像:java,maven ;npm 部署镜像: java,node +部署文件

通过cp基础镜像的构建后的文件,来减少部署镜像包大小;当然有jenkins可以直接打包后扔掉部署镜像

FROM golang:1.13 AS builder

WORKDIR /go/src/github.com/alexellis/href-counter/
COPY vendor vendor
COPY app.go .
ENV GOPROXY https://goproxy.cn

RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
FROM alpine:3.10
RUN apk --no-cache add ca-certificates

WORKDIR /root/

COPY --from=builder  /go/src/github.com/alexellis/href-counter/app    .

CMD ["./app"]

文章作者: 以谁为师
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源!

  目录