什麼是Docker而且它爲何這麼受歡迎

什麼是Docker (why it's so hot than hot)

Docker是一個使用容器來方便快捷的建立,部署,運行程序的工具,容器容許開發人員將應用程序的一切打包(鏡像),例如庫和其餘的依賴項,並能夠將這個包(鏡像)發佈出去。經過這樣作,開發人員能夠盡情將應用程序在其餘linux 機器上運行,而且不用去考慮機器的各類配置的不一樣。linux

另外一方面,Docker有一點點像虛擬機,可是又不像虛擬機,相比於虛擬機,Docker不須要建立整個虛擬系統,Docker容許應用程序使用和當前所運行的操做系統相同的linux內核,也沒有什麼硬件虛擬。而且僅僅須要應用程序攜帶主機上沒有的東西,這大大提高了性能而且減小了應用程序的大小docker

最重要的是,Docker是一個開源項目,這意味着每個人均可以給docker作貢獻,而且能夠去根據本身的需求擴展docker.運維

總而言之,Docker是一個來幫咱們抹平操做系統的配置、環境的差別,讓咱們的程序爲所欲爲的在各個系統快速跑起來的工具。工具

Docker是給哪些人使用的呢?

Docker是一個讓開發人員和運維人員都會受益的一個工具,它已經成爲了許多開發和運維人員的工具鏈中的一部分了。對於開發人員而言,這意味着咱們沒必要再去操心程序最終運行的操做系統的環境等等各類配置了,咱們只須要安心的專心的去寫代碼就好了。同時咱們可使用Docker給咱們提供的一千多種的鏡像,而且鏡像中給咱們的程序提供了一部分基礎部分,這大大提高了咱們的開發時構建項目的效率。對於運維同窗而言,Docker提供了靈活性,而且因爲docker的體積小、開銷小。運維也可能不須要去維護特別多的系統了。性能

因此說,開發人員和運維人員均可以來使用Docker。操作系統


上述部分翻譯自 https://opensource.com/resources/what-docker翻譯

Docker中的重要組成部分

Docker中包括了三個基本概念進程

  • 鏡像
  • 容器
  • 倉庫

鏡像:開發

鏡像爲容器的基礎,鏡像就是一堆只讀層的視角部署

容器:

容器的定義和鏡像差很少,容器也是一堆層的惟一視角,不一樣的是,容器最上邊的一層是可讀可寫的。這裏須要注意的是,容器並非指運行態的容器,容器=鏡像+讀寫層

而與此對應的運行態的容器,就是獨立的進程空間+運行的進程+可讀寫層,運行的進程對於文件進行的操做(增長,刪除,修改等)針對的是可讀寫層,而且這個可讀寫層也是封閉的。

倉庫:

倉庫是存放鏡像的場所

對於Docker的這三個基本概念,後續在對應的章節詳解。

文中若有錯誤,還請斧正!

相關文章
相關標籤/搜索