V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fuxkcsdn
V2EX  ›  Docker

Dockerfile 删除不需要的包后镜像容量反而增大了

  •  
  •   fuxkcsdn · 2017-03-14 20:16:09 +08:00 · 5405 次点击
    这是一个创建于 2810 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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/*
    
    5 条回复    2017-03-17 09:37:55 +08:00
    ooxxcc
        1
    ooxxcc  
       2017-03-14 20:18:33 +08:00   ❤️ 2
    你把几个 run 写成一行,用 && 连接
    kappa
        2
    kappa  
       2017-03-14 20:19:55 +08:00   ❤️ 2
    RUN 命令合并到一起
    fuxkcsdn
        3
    fuxkcsdn  
    OP
       2017-03-14 20:49:07 +08:00
    原本想说把命令分开写层次比较分明
    1/3 安装编译环境
    2/3 编译安装
    3/3 删除编译环境

    没想到这样镜像容量竟然增大那么多...
    把所有命令合在一起后,编译后镜像容量 229MB... 差了快一倍...
    oott123
        4
    oott123  
       2017-03-14 20:54:00 +08:00   ❤️ 1
    docker 设计如此,你 RUN 一下就是一层,你要删东西,就要加一层来记录你删的东西
    Antidictator
        5
    Antidictator  
       2017-03-17 09:37:55 +08:00
    @ooxxcc
    @kappa
    @oott123

    涨知识了。我去试试:)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2890 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:36 · PVG 11:36 · LAX 19:36 · JFK 22:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.