yazoox
V2EX  ›  Docker

为什么我的 dockerfile 生成的 image 越来越大?

  •  
  •   yazoox · Sep 5, 2018 · 4211 views
    This topic created in 2822 days ago, the information mentioned may be changed or developed.

    项目上有个 dockerfile,每次跑 CI 的时候,都会跑这个,生成一个 image,然后运行之。

    过了半年,突然发现,这个生成的 image,已经从当初的 2.0+GB 增长到了 4.0+GB 了。太夸张了。

    可是这个 dockerfile 的文件内容,也没有修改。怎么 image 变化这么多了?

    有没有办法比较两个 image 文件?

    p.s. dockerfile FROM node:8.9.0

    不知道是不是因为里面 yarn install 相关的 packages,但是也不会增加这么多啊?使用的类库,也基本上半年没有啥变化了,就那些了,如果只是版本升级增加,不应该体积翻倍。

    Supplement 1  ·  Sep 5, 2018
    # using a specific node version
    FROM node:8.9.0

    RUN \
    echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list && \
    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list && \
    apt-get update && \
    apt-get install -y oracle-java8-installer && \
    rm -rf /var/lib/apt/lists/* && \
    rm -rf /var/cache/oracle-jdk8-installer

    # Define commonly used JAVA_HOME variable
    ENV JAVA_HOME /usr/lib/jvm/java-8-oracle

    # set java 1.8 as the default
    RUN update-alternatives --config java

    # set WORKDIR for subsequent commands
    ENV WORKSPACE /workspace
    RUN mkdir -p $WORKSPACE
    COPY . $WORKSPACE/
    WORKDIR $WORKSPACE

    # Creating user jenkins
    RUN addgroup --gid 1001 jenkins
    RUN adduser --uid 1001 --gid 1001 --shell /bin/bash --home /home/jenkins --disabled-password jenkins
    RUN chown -R jenkins:jenkins $WORKSPACE
    USER jenkins

    ## install dependencies
    RUN yarn install --frozen-lockfile --offline
    RUN yarn run bootstrap
    3 replies    2018-09-05 11:52:53 +08:00
    Vogan
        1
    Vogan  
       Sep 5, 2018
    你不贴 dockerfile 咋给你分析
    yazoox
        2
    yazoox  
    OP
       Sep 5, 2018
    @Vogan 把 dockerfile 贴上来了。
    orqzsf1
        3
    orqzsf1  
       Sep 5, 2018
    多条 run 尽量通过 && 合并,apt-get 的缓存可以清理一下。至于越来越大的话,是因为日志或者一些缓存文件吧?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2711 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 15:39 · PVG 23:39 · LAX 08:39 · JFK 11:39
    ♥ Do have faith in what you're doing.