首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头图像中的重复层

码头图像中的重复层
EN

Stack Overflow用户
提问于 2020-12-10 10:52:31
回答 1查看 412关注 0票数 0

在创建了对接图像之后,我看到了重复的图层和比预期更大的图像大小。出什么问题了?

Dockerfile

代码语言:javascript
复制
FROM ubuntu:latest
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install wget
RUN wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.tar.gz -O /tmp/tomcat.tar.gz
RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1001 ubuntu
COPY data /usr/local/data
RUN cd /tmp && tar xvfz tomcat.tar.gz
RUN mkdir /usr/local/tomcat
RUN cp -Rv /tmp/apache-tomcat-8.5.61/* /usr/local/tomcat/ 
RUN chown -R ubuntu:root /usr/local/tomcat
USER ubuntu
EXPOSE 8080    
CMD /usr/local/tomcat/bin/catalina.sh run

代码语言:javascript
复制
jenkins@test-VirtualBox:~/docker/ubuntu$ docker history myimage
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
357a69f163e2        21 seconds ago      /bin/sh -c chown -R ubuntu:root /usr/local/d…   845MB               
3ad0b14611cf        30 seconds ago      /bin/sh -c chown -R ubuntu:root /usr/local/t…   14.6MB              
efcd2635eb2a        33 seconds ago      /bin/sh -c #(nop) COPY dir:175f4c922c826712a…   845MB               
1cd81d0f50c7        42 seconds ago      /bin/sh -c cp -Rv /tmp/apache-tomcat-8.5.61/…   14.6MB              
e3f848fe5958        2 minutes ago       /bin/sh -c cd /tmp && tar xvfz tomcat.tar.gz    14.6MB              
<missing>           2 weeks ago         /bin/sh -c #(nop) ADD file:4f15c4475fbafb3fe…   72.9MB 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-10 10:52:31

通过在chown命令中使用COPY命令并在RUN命令中组合命令来解决此问题。这是因为Dockerfile中的每个RUN命令都会生成一个新的中间映像,即" layer ",它由文件系统上从上一层更改的任何内容组成。

Dockerfile

代码语言:javascript
复制
FROM ubuntu:latest
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install wget
RUN wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.tar.gz -O /tmp/tomcat.tar.gz
RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1001 ubuntu
COPY --chown=ubuntu:root data /usr/local/data
RUN cd /tmp && tar xvfz tomcat.tar.gz && \
    mkdir /usr/local/tomcat && \
    cp -Rv /tmp/apache-tomcat-8.5.61/* /usr/local/tomcat/ && \
    chown -R ubuntu:root /usr/local/tomcat
USER ubuntu
EXPOSE 8080    
CMD /usr/local/tomcat/bin/catalina.sh run

代码语言:javascript
复制
jenkins@test-VirtualBox:~/docker/ubuntu$ docker history myimage:fix
IMAGE               CREATED              CREATED BY                                      SIZE                COMMENT
ddb45a77bcb6        21 seconds ago       /bin/sh -c cd /tmp && tar xvfz tomcat.tar.gz…   29.2MB              
5610752cb747        23 seconds ago       /bin/sh -c #(nop) COPY --chown=ubuntu:rootdi…   845MB               
<missing>           2 weeks ago          /bin/sh -c #(nop) ADD file:4f15c4475fbafb3fe…   72.9MB  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65233150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档