容器鏡像優(yōu)化小技巧----拷貝時(shí)指定用戶屬組

一句話結(jié)論,可以在拷貝鏡像文件的時(shí)候,通過如下命令指定user來壓縮dockerfile的體積,避免把指定的文件在dockerfile中計(jì)算兩次。

為什么要指定User?

  • 往往,我們會(huì)因?yàn)榘踩囊?,不允許使用root用戶運(yùn)行程序。
  • 像ElasticSearch這個(gè)開源組件要求不能用root用戶運(yùn)行,其實(shí)也是出于安全的原因
COPY --chown=sh:sh source /opt/sh

效果展示

先使用dd命令創(chuàng)建1GB的測試文件

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

測試基礎(chǔ)鏡像ttbb/base:latest,大小439MB

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

優(yōu)化前DockerFile

FROM ttbb/base

COPY testfile /opt/sh/testfile

RUN chown -R sh:sh /opt/sh/testfile

大小

1280d315e09d        31 seconds ago      2.59GB

可以看到testfile計(jì)算了兩次,大小達(dá)到了2G多。

優(yōu)化后DockerFile

FROM ttbb/base

COPY --chown=sh:sh testfile /opt/sh/testfile

大小

115b68bc4db8        21 seconds ago       1.51GB

testfile僅計(jì)算一次,僅使用1.5G。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容