Docker精华问答 | Docker镜像和Docker容器的关系?
毫無疑問,Docker成了近些年來最火熱,甚至最具顛覆性的技術之一。國際上,所有泛云計算相關的公司,幾乎都在某種程度上宣布支持并集成Docker。在2014年6月的DockerCon中,很多公司都分享了他們自己如何和Docker集成的故事。
1
Q:什么是Docker鏡像
A:從整體的角度來講,一個完整的Docker鏡像可以支撐一個Docker容器的運行,在 Docker容器運行過程中主要提供文件系統視角。例如一個ubuntu:14.04的鏡像,提供了一個基本的ubuntu:14.04的發行版,當然此 鏡像是不包含操作系統Linux內核的。
以上內容是從宏觀的角度看看Docker鏡像是什么,我們再從微觀的角度進一步深入 Docker鏡像。剛才提到了“Debian鏡像中安裝MySQL 5.6,就成了mysql:5.6鏡像”,其實在此時Docker鏡像的層級概念就體現出來了。底層一個Debian操作系統鏡像,上面疊加一個 mysql層,就完成了一個mysql鏡像的構建。層級概念就不難理解,此時我們一般debian操作系統鏡像稱為mysql鏡像層的父鏡像。
Docker有兩方面的技術非常重要,第一是Linux 容器方面的技術,第二是Docker鏡像的技術。從技術本身來講,兩者的可復制性很強,不存在絕對的技術難點,然而Docker Hub由于存在大量的數據的原因,導致Docker Hub的可復制性幾乎不存在,這需要一個生態的營造。
Q:Docker鏡像的內容
A:介紹之前,我先分享一下,我個人在接觸Docker的兩年時間中,對Docker鏡像內容認識的變化。
第一階段:初步接觸Docker。相信很多愛好者都會和我一樣,有這樣一個認識:Docker 鏡像代表一個容器的文件系統內容;
第二階段:初步接觸聯合文件系統。聯合文件系統的概念,讓我意識到鏡像層級管理的技術,每一層鏡像都是容器文件系統內容的一部分。
第三階段:研究鏡像與容器的關系:容器是一個動態的環境,每一層鏡像中的文件屬于靜態內 容,然而 Dockerfile 中的 ENV、VOLUME、CMD 等內容最終都需要落實到容器的運行環境中,而這些內容均不可能直接坐落到每一層鏡像所包含的文件系統內容中,那此時每一個Docker鏡像還會包含 json文件記錄與容器之間的關系。
因此,Docker鏡像的內容主要包含兩個部分:第一,鏡像層文件內容;第二,鏡像json文件。
Q:Dockerfile、Docker鏡像和Docker容器的關系
A:Dockerfile 是軟件的原材料,Docker 鏡像是軟件的交付品,而 Docker 容器則可以認為是軟件的運行態。從應用軟件的角度來看,Dockerfile、Docker 鏡像與 Docker 容器分別代表軟件的三個不同階段,Dockerfile 面向開發,Docker 鏡像成為交付標準,Docker 容器則涉及部署與運維,三者缺一不可,合力充當 Docker 體系的基石。
簡單來講,Dockerfile構建出Docker鏡像,通過Docker鏡像運行Docker容器。
Q:為什么一個ubuntu:14.04鏡像的鏡像層的數量是4個,前三層的內容似乎有相同的,如etc?
A:雖然三層 都有,但是會存在兩種情況,etc的子目錄下有相同路徑的文件,那么上層的會覆蓋下層的文件;如果內部的文件路徑不相同,那么都會存在,都會呈現給最上層。
5
Q:如何保證僅有的一個deamon的穩定性健壯性?
A:分布式系統需要大量機器協作,面臨諸多的挑戰:
第一,異構的機器與網絡:
分布式系統中的機器,配置不一樣,其上運行的服務也可能由不同的語言、架構實現,因此處理能力也不一樣;節點間通過網絡連接,而不同網絡運營商提供的網絡的帶寬、延時、丟包率又不一樣。怎么保證大家齊頭并進,共同完成目標,這四個不小的挑戰。
第二,普遍的節點故障:
雖然單個節點的故障概率較這個問題首先需要知道docker daemon的穩定性在哪些方面,那種場景下比較差?的確,docker daemon存在弊病。比如,daemon和容器的耦合等,目前general來講,docker daemon保證絕對的穩定應該還做不到。
小伙伴們沖鴨,后臺留言區等著你!
關于Docker,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區打卡啦!留言方式:打開第XX天,答:……
同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區里等你~
福利
1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
一場全能的開發者大會,來自助力開發者成功進階的華為云
抖音微博等短視頻千萬級高可用、高并發架構如何設計?
20大5G關鍵技術
Fast.ai:從零開始學深度學習 | 資源帖
10個簡單小竅門帶你提高Python數據分析速度(附代碼)
程序員爬取 3 萬條評論,《長安十二時辰》槽點大揭秘!
暗網竟成比特幣最大用戶? 上半年5.15億美元被用于非法活動
真香,朕在看了!
總結
以上是生活随笔為你收集整理的Docker精华问答 | Docker镜像和Docker容器的关系?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 复联票房超阿凡达 创首轮公映票房最高
- 下一篇: 待处理财产损益计入资产负债表哪里