日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
關(guān)于Docker里面的幾個主要概念

關(guān)于docker里面的幾個主要概念

作者:dfengwei 2017-07-12 16:45:10

云計算 大家肯定安裝過ghost系統(tǒng),鏡像就像是ghost文件,容器就像是ghost系統(tǒng)。你可以拿別人的ghost文件安裝系統(tǒng)(使用鏡像運行容器),也可以把自己現(xiàn)有的系統(tǒng)制作成ghost文件(從容器構(gòu)建鏡像)。Dockerfile則像是一個生成ghost文件的腳本(鏡像構(gòu)建腳本),

為企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競價托管、品牌運營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認可!

這里用個不太恰當?shù)谋确絹碚f明。

大家肯定安裝過ghost系統(tǒng),鏡像就像是ghost文件,容器就像是ghost系統(tǒng)。你可以拿別人的ghost文件安裝系統(tǒng)(使用鏡像運行容器),也可以把自己現(xiàn)有的系統(tǒng)制作成ghost文件(從容器構(gòu)建鏡像)。Dockerfile則像是一個生成ghost文件的腳本(鏡像構(gòu)建腳本),這個腳本會指定去哪里下載哪個版本的window系統(tǒng),再去哪里下載哪些軟件并安裝,再修改哪些配置文件,等等。本文主要講的是,如何從容器構(gòu)建鏡像(把現(xiàn)有系統(tǒng)制作成ghost文件),和如何使用Dockerfile構(gòu)建鏡像(使用腳本生成ghost文件)。

兩種方式構(gòu)建鏡像的主要步驟:

1.從容器構(gòu)建鏡像(以下簡稱容器鏡像)

  • 創(chuàng)建一個容器,比如使用 tomcat:latest 鏡像創(chuàng)建一個tomcat-test容器
  • 修改tomcat-test容器的文件系統(tǒng),比如修改tomcat的server.xml文件中的默認端口
  • 使用commit命令提交鏡像

2.使用Dockerfile構(gòu)建鏡像(以下簡稱Dockerfile鏡像)

  • 編寫Dockerfile文件
  • 使用build命令構(gòu)建鏡像

兩種構(gòu)建方式的區(qū)別:

1.容器鏡像的構(gòu)建者可以任意修改容器的文件系統(tǒng)后進行發(fā)布,這種修改對于鏡像使用者來說是不透明的,鏡像構(gòu)建者一般也不會將對容器文件系統(tǒng)的每一步修改,記錄進文檔中,供鏡像使用者參考。

2.容器鏡像不能(更準確地說是不建議)通過修改,生成新的容器鏡像。

從鏡像運行容器,實際上是在鏡像頂部上加了一層可寫層,所有對容器文件系統(tǒng)的修改,都在這一層中進行,不影響已經(jīng)存在的層。比如在容器中刪除一個1G的文件,從用戶的角度看,容器中該文件已經(jīng)沒有了,但從文件系統(tǒng)的角度看,文件其實還在,只不過在頂層中標記該文件已被刪除,當然這個標記為已刪除的文件還會占用鏡像空間。從容器構(gòu)建鏡像,實際上是把容器的頂層固化到鏡像中。

也就是說, 對容器鏡像進行修改后,生成新的容器鏡像,會多一層,而且鏡像的體積只會增大,不會減小。長此以往,鏡像將變得越來越臃腫。Docker提供的 export 和 import 命令可以一定程度上處理該問題,但也并不是沒有缺點。

3.容器鏡像依賴的父鏡像變化時,容器鏡像必須進行重新構(gòu)建。如果沒有編寫自動化構(gòu)建腳本,而是手工構(gòu)建的,那么又要重新修改容器的文件系統(tǒng),再進行構(gòu)建,這些重復勞動其實是沒有價值的。

4.Dockerfile鏡像是完全透明的,所有用于構(gòu)建鏡像的指令都可以通過Dockerfile看到。甚至你還可以遞歸找到本鏡像的任何父鏡像的構(gòu)建指令。也就是說,你可以完全了解一個鏡像是如何從零開始,通過一條條指令構(gòu)建出來的。

5.Dockerfile鏡像需要修改時,可以通過修改Dockerfile中的指令,再重新構(gòu)建生成,沒有任何問題。

6.Dockerfile可以在GitHub等源碼管理網(wǎng)站上進行托管,DockerHub自動關(guān)聯(lián)源碼進行構(gòu)建。當你的Dockerfile變動,或者依賴的父鏡像變動,都會觸發(fā)鏡像的自動構(gòu)建,非常方便。

** 不管是官方還是我個人,都推薦使用第二種方式構(gòu)建鏡像。**

關(guān)于Dockerfile里面指令的詳細說明,這里就不一一列出了,大家可以參考官方文檔,或關(guān)注我之后的文章,當然網(wǎng)上也是一搜一大堆。


標題名稱:關(guān)于Docker里面的幾個主要概念
當前鏈接:http://www.5511xx.com/article/djpidco.html