dockerfile 方式创建太麻烦了。
docker commit 方式创建的镜像太大了。
大家都是怎么用的。我的镜像减肥后也上 G。
docker commit 方式创建的镜像太大了。
大家都是怎么用的。我的镜像减肥后也上 G。
1
miniers Jul 25, 2017 😂黑盒镜像也就你自己用用,无所谓大小啦,想减肥只能 Dockerfile 并注意镜像层数,每层最后都需要清理无用文件
|
2
linoder Jul 25, 2017
自建 repository
|
4
DoraJDJ Jul 25, 2017 alpine linux 镜像或许可以拯救你
|
5
Reficul Jul 25, 2017 1. multistage build,最后只包括二进制
2. 压缩命令压缩镜像 3. 基础镜像用 alpine,golang 可以用 scratch |
6
Thoxvi Jul 25, 2017 via Android
咦…还好吧?底层镜像会复用的,只是看起来大
|
9
zhoulouzi Jul 25, 2017 |
10
cloverstd Jul 25, 2017 |
13
whatsmyip Jul 25, 2017 alpine +1
不过目前过 G 的只见过 Hadoop |
14
hteen Jul 25, 2017 新版不是支持多阶段构建了吗
|
15
ntdll Jul 25, 2017 docker 不是虚拟机 反正我自己来说是偏好写 dockerfile 比较容易分发。别人拿去也容易改。另外一个就是基础镜像尽可能选 alpine 这样的 你看 apk add 和 apt/yum install 用起来也差不多,但是基础镜像小得多。
话说 docker 部署环境真的好方便 |
16
Niphor Jul 25, 2017 alpine 最蛋疼的地方是太精简了 连 tzdata 都没,想要用 TZ env 设时区,就得自己先封装个,感觉还不如用 debian...
|
17
Niphor Jul 25, 2017 而且 alpine 还没 glibc,又得自己编译
|
18
clino Jul 25, 2017 docker commit 不是说一般不会用吗?
|
20
cy18 Jul 25, 2017 via Android 底包影响没有想象的那么大,commit 跟 docker file 的差别才是关键问题
|
21
cloverstd Jul 25, 2017 |
23
xiqingongzi Jul 25, 2017 必然是分层才能解决啊
|
24
v1024 Jul 25, 2017 via iPhone 1. 用 alpine 2. 开发 Dockerfile 时分别 RUN 每条命令,目的是分层减少重新 build 的时间,开发好了合并 RUN 为一条,减少分层。
|
25
v1024 Jul 25, 2017 via iPhone 另外,清除依赖包、缓存不可少
|
26
zuolan Jul 25, 2017 去看 Dockerfile 最佳实践,一篇文章,到处都有这篇文章的翻译。
|
28
timothyye Aug 3, 2017 via Android
用 alpine 小一些,另外,镜像大小跟开发语言也有关,不用运行时的语言,镜像就小很多,比如 go
|