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