Microsoft这是水平太高?

d
didadida
楼主 (未名空间)

我看的docker书都说RUN command最好合并,难道是过时了?

Microsoft的dockerfile基本就是把原先的linux每个命令前边加个RUN
https://github.com/microsoft/mssql-docker/blob/master/linux/mssql-tools/
Dockerfile

w
walkrandom

虽然这个dockerfile写得差,但不用run用什么?
s
sanwadie

RUN 命令会增加一层(Layer),每层有一点额外开销,层之间是有关联的。在构建镜
像时,如果某层没有改变,就不会被重新构建,如果变了,该层和后边的层会重新构建,下载时,每层下载是并发的。

结论:在开发部署繁忙的项目里,合理的安排、合并、分拆各种os命令到不同的RUN命
令,调整RUN顺序,可以极大地提高构建和部署的效率。

y
yhangw

没啥build image经验。 好奇问下,如果把所有run的命令组合到一个shell或者perl
脚本里用一个run,可见的好处有多少?

【 在 didadida (滴滴嗒嗒) 的大作中提到: 】
: 我看的docker书都说RUN command最好合并,难道是过时了?
: Microsoft的dockerfile基本就是把原先的linux每个命令前边加个RUN
: https://github.com/microsoft/mssql-docker/blob/master/linux/mssql-tools/
: Dockerfile