文章插图
当Dockerfile超出合理范围时,会出现以下问题:
- 很难理解和维护-我们需要阅读数百行以了解所有依赖关系
- 在这么多行之间可能忽略一个明显的安全问题
- 当每个人都在更改同一文件时,Git将引发更多冲突
- 如果我们不清理每个依赖项,可能会导致镜像体积沉重
这里是一些减少Dockerfile大小的技巧 。
重构1:从其官方镜像中获取依赖避免创建从官方镜像复制的工件 。例如:我需要使用terraform没必要再重新apt-get安装了,可以直接使用带有terraform的官方镜像 。
原始Dockerfile
FROM golang:1.12RUN apt-get update && apt-get upgrade -y && apt-get install -y git openssh-client zipWORKDIR $GOPATH/src/github.com/hashicorp/terraformRUN git clone https://github.com/hashicorp/terraform.git ./ && git checkout v0.12.9 && ./scripts/build.shWORKDIR /my-configCOPY . /my-config/CMD ["terraform init"]
重构后Dockerfile【保持Dockerfile整洁的5个技巧】
FROM hashicorp/terraform:0.12.9 AS terraformFROM golang:1.12COPY --from=terraform /go/bin/terraform /usr/bin/terraformWORKDIR /my-configCOPY . /my-config/CMD ["terraform init"]
推荐阅读
- wps表格粘贴时如何保持原列宽不变?
- 喝乌龙茶对听力有帮助,中老年人经常喝乌龙茶有助于保持听力
- 肉饼蒸鹌鹑蛋的做法
- 伊能静|伊能静又上热搜!53岁还保持少女身材不是因为7位数的保养费
- 喝茶是保持健康的方法,为什么说喜欢喝茶的人比喜欢喝酒的人有钱
- 四十岁男人如何健身比较好?
- 2 「系统架构」如何使用Dockerfile制作Docker容器?
- 做线雕能保持多长时间
- 做眼袋能保持多长时间
- 做面部线雕能保持多久