Dockerfile 大致如下
build 后镜像容量为 417 MB
把最后一个 RUN 命令去掉, build 后镜像反而只有 415 MB...
查看 build 日志,可以看到执行 apt-get autoremove
的时候有显示
0 upgraded, 0 newly installed, 41 to remove and 2 not upgraded.
After this operation, 178 MB disk space will be freed.
(Reading database ... 17493 files and directories currently installed.)
为啥把包删除后反而镜像还更大了??
FROM: debian:jessie
RUN apt-get update && apt-get install -y python-pip libpython-dev gcc
RUN pip install psutil
RUN apt-get remove --purge -y libpython-dev gcc \
&& apt-get autoremove -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
1
ooxxcc 2017-03-14 20:18:33 +08:00 2
你把几个 run 写成一行,用 && 连接
|
2
kappa 2017-03-14 20:19:55 +08:00 2
RUN 命令合并到一起
|
3
fuxkcsdn OP 原本想说把命令分开写层次比较分明
1/3 安装编译环境 2/3 编译安装 3/3 删除编译环境 没想到这样镜像容量竟然增大那么多... 把所有命令合在一起后,编译后镜像容量 229MB... 差了快一倍... |
4
oott123 2017-03-14 20:54:00 +08:00 1
docker 设计如此,你 RUN 一下就是一层,你要删东西,就要加一层来记录你删的东西
|
5
Antidictator 2017-03-17 09:37:55 +08:00
|