美文网首页
容器镜像优化小技巧----拷贝时指定用户属组

容器镜像优化小技巧----拷贝时指定用户属组

作者: ShootHzj | 来源:发表于2021-03-06 12:03 被阅读0次

    一句话结论,可以在拷贝镜像文件的时候,通过如下命令指定user来压缩dockerfile的体积,避免把指定的文件在dockerfile中计算两次。

    为什么要指定User?

    • 往往,我们会因为安全的要求,不允许使用root用户运行程序。
    • 像ElasticSearch这个开源组件要求不能用root用户运行,其实也是出于安全的原因
    COPY --chown=sh:sh source /opt/sh
    

    效果展示

    先使用dd命令创建1GB的测试文件

    dd if=/dev/zero of=testfile bs=1024 count=1048576
    

    测试基础镜像ttbb/base:latest,大小439MB

    docker images|grep 'ttbb/base'|grep latest
    ttbb/base                                                 latest                 bacdb9e7b5f4        2 weeks ago         439MB
    

    优化前DockerFile

    FROM ttbb/base
    
    COPY testfile /opt/sh/testfile
    
    RUN chown -R sh:sh /opt/sh/testfile
    

    大小

    1280d315e09d        31 seconds ago      2.59GB
    

    可以看到testfile计算了两次,大小达到了2G多。

    优化后DockerFile

    FROM ttbb/base
    
    COPY --chown=sh:sh testfile /opt/sh/testfile
    

    大小

    115b68bc4db8        21 seconds ago       1.51GB
    

    testfile仅计算一次,仅使用1.5G。

    相关文章

      网友评论

          本文标题:容器镜像优化小技巧----拷贝时指定用户属组

          本文链接:https://www.haomeiwen.com/subject/piqdqltx.html