欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Docker鏡像分層的注意事項

 更新時間:2016年10月13日 10:53:17   投稿:daisy  
不知道大家在對程序進行Docker鏡像打包會不會有些疑惑,比如鏡像分層打包最后匯總成程序的鏡像問題,所以這篇針對一些問題進行了分析,文章主要介紹了Docker鏡像分層的一些注意事項,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。

前言

我們平常在對程序進行Docker鏡像打包的時候總會有些困惑,到底是將最終的鏡像分層打包最后匯總成程序的鏡像(也就是一層一層的 From )合適,還是說直接將程序從Source code就打包出最終的鏡像更合適呢?其實這里面沒有說那個是對或錯的,要看程序包自身的情況做選擇。

Docker build的注意點

如果接觸過Docker,Docker build大家都清楚怎么用了,但是有幾個容易忽略的注意點:

     1、Dockerfile開頭的 From 和 MAINTAINER 其實都是一層鏡像

     2、如果 From 和 MAINTAINER 不同,就算是后面的命令語句相同也不會是相同的鏡像。如都是執(zhí)行 RUN echo "hello world" >> test.txt ,如果 MAINTAINER 不同,則生成的這個語句的鏡像層將是不同的。

     3、原理上如果每一層對應(yīng)的父層不同,那怕執(zhí)行的命令相同,Docker也會生成一層新的鏡像,如下面兩個Dockerfile文件

Dockerfile 1:

FROM centos:latest
MAINTAINER duffqiu@gmail.com

RUN echo "test" >> hello.txt
RUN echo "hello" > test.txt

Dockerfile 2:

FROM centos:latest
MAINTAINER duffqiu@gmail.com

RUN echo "hello" > test.txt
RUN echo "test" >> hello.txt

這兩個文件的內(nèi)容只是兩個 RUN 語句順序不一樣,但是最后它們生成的image層是不一樣的,可以通過 docker history <image name> 來對比

從這里面也看到一個問題,F(xiàn)rom最好不要用lastest標(biāo)簽,避免不同鏡像的頂層是不同,從而無法復(fù)用。

實踐建議

需要看具體情況,如果有一個包是公用的,且比較大,則最好先將這個包打成Image再給后續(xù)的程序打包使用,這樣使用時占用的機器磁盤空間最小,啟動時如果需要pull的話也最快。

但是如果包本身就是很小,過細(xì)的分層也不利于維護和管理,所以最終還是一個藝術(shù)問題

總結(jié)

以上就是這篇文章的全部內(nèi)容,希望這篇文章的內(nèi)容對大家的學(xué)習(xí)或者工作能有一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 用Docker安裝Gitlab的方法步驟

    用Docker安裝Gitlab的方法步驟

    這篇文章主要介紹了用Docker安裝Gitlab的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法

    谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法

    這篇文章主要介紹了谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法,涉及虛擬機,谷歌docker鏡像構(gòu)建實踐及構(gòu)建工具bazel的介紹等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Docker 部署Mysql 服務(wù)和Redis 服務(wù)的方法

    Docker 部署Mysql 服務(wù)和Redis 服務(wù)的方法

    這篇文章主要介紹了Docker 部署Mysql 服務(wù)和Redis 服務(wù)的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • docker?安裝?zeppeline的操作

    docker?安裝?zeppeline的操作

    Zeppelin是基于Jupyter Notebook技術(shù)開發(fā)的大數(shù)據(jù)交互分析服務(wù)軟件。接下來通過本文給大家介紹docker?安裝?zeppeline的相關(guān)知識,感興趣的朋友一起看看吧
    2022-01-01
  • Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像

    Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像

    這篇文章主要介紹了Dockerfile如何使用alpine系統(tǒng)制作haproxy鏡像問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • docker安裝elasticsearch和kibana的方法步驟

    docker安裝elasticsearch和kibana的方法步驟

    這篇文章主要介紹了docker安裝elasticsearch和kibana的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Docker數(shù)據(jù)存儲總結(jié)

    Docker數(shù)據(jù)存儲總結(jié)

    今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 詳解docker使用阿里云Docker鏡像庫加速(修訂版)

    詳解docker使用阿里云Docker鏡像庫加速(修訂版)

    這篇文章主要介紹了詳解docker使用阿里云Docker鏡像庫加速(修訂版),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 聊聊docker?單機部署redis集群的問題

    聊聊docker?單機部署redis集群的問題

    這篇文章主要介紹了docker?單機部署redis集群,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Docker部署Mysql數(shù)據(jù)庫步驟詳解

    Docker部署Mysql數(shù)據(jù)庫步驟詳解

    Docker是一種流行的容器化平臺,可以簡化應(yīng)用程序的部署和管理,在本博客中,我們將探討如何使用Docker部署兩個廣泛使用的數(shù)據(jù)庫:MySQL,我們將提供詳細(xì)的步驟和相應(yīng)的命令,以幫助您輕松地在Docker容器中設(shè)置和運行這個數(shù)據(jù)庫
    2023-07-07

最新評論