V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
fuxkcsdn
V2EX  ›  Docker

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

  •  
  •   fuxkcsdn · Mar 14, 2017 · 5819 views
    This topic created in 3337 days ago, the information mentioned may be changed or developed.

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

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

    涨知识了。我去试试:)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2478 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 07:16 · PVG 15:16 · LAX 00:16 · JFK 03:16
    ♥ Do have faith in what you're doing.