架構師修煉之微服務部署 Docker簡介

2022-07-03 08:51:13 字數 2707 閱讀 2477

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的linux機器或windows 機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何介面。docker動手實驗平台:play with docker。

docker 最初是 dotcloud 公司創始人 solomon hykes 在法國期間發起的乙個公司內部專案,它是基於 dotcloud 公司多年雲服務技術的一次革新,並於2013 年 3 月以 apache 2.0 授權協議開源,主要專案**在

github上進行維護。docker 專案後來還加入了 linux **會,並成立推動開放容器聯盟(oci)。

docker 自開源後受到廣泛的關注和討論,至今其 github 專案已經超過 4 萬 6 千個星標和一萬多個 fork。甚至由於 docker 專案的火爆,在 2013 年底,dotcloud 公司決定改名為 docker。docker 最初是在 ubuntu 12.04 上開發實現的;red hat 則從 rhel 6.5 開始對 docker 進行支援;google 也在其 paas 產品中廣泛應用 docker。

docker 使用 google 公司推出的go 語言進行開發實現,基於 linux 核心的cgroup,namespace,以及aufs類的union fs等技術,對程序進行封裝隔離,屬於作業系統層面的虛擬化技術。由於隔離的程序獨立於宿主和其它的隔離的程序,因此也稱其為容器。最初實現是基於lxc,從 0.7 版本以後開始去除 lxc,轉而使用自行開發的libcontainer,從 1.11 開始,則進一步演進為使用runc和containerd。

docker 在容器的基礎上,進行了進一步的封裝,從檔案系統、網路互聯到程序隔離等等,極大的簡化了容器的建立和維護。使得 docker 技術比虛擬機器技術更為輕便、快捷。

容器(containers)

虛擬主機(virtual machines)

容器內應用程序直接執行於宿主的核心,容器內沒有自己的核心,而且也沒有進行硬體虛擬。

虛擬出一套硬體後,在其上執行乙個完整作業系統,在該系統上再執行所需應用程序。缺點:消耗硬體資源;配置和啟動都慢。

組成部分:

docker映象倉庫

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的linux機器或windows 機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何介面。docker動手實驗平台:play with docker。

docker 最初是 dotcloud 公司創始人 solomon hykes 在法國期間發起的乙個公司內部專案,它是基於 dotcloud 公司多年雲服務技術的一次革新,並於2013 年 3 月以 apache 2.0 授權協議開源,主要專案**在

github上進行維護。docker 專案後來還加入了 linux **會,並成立推動開放容器聯盟(oci)。

docker 自開源後受到廣泛的關注和討論,至今其 github 專案已經超過 4 萬 6 千個星標和一萬多個 fork。甚至由於 docker 專案的火爆,在 2013 年底,dotcloud 公司決定改名為 docker。docker 最初是在 ubuntu 12.04 上開發實現的;red hat 則從 rhel 6.5 開始對 docker 進行支援;google 也在其 paas 產品中廣泛應用 docker。

docker 使用 google 公司推出的go 語言進行開發實現,基於 linux 核心的cgroup,namespace,以及aufs類的union fs等技術,對程序進行封裝隔離,屬於作業系統層面的虛擬化技術。由於隔離的程序獨立於宿主和其它的隔離的程序,因此也稱其為容器。最初實現是基於lxc,從 0.7 版本以後開始去除 lxc,轉而使用自行開發的libcontainer,從 1.11 開始,則進一步演進為使用runc和containerd。

docker 在容器的基礎上,進行了進一步的封裝,從檔案系統、網路互聯到程序隔離等等,極大的簡化了容器的建立和維護。使得 docker 技術比虛擬機器技術更為輕便、快捷。

容器(containers)

虛擬主機(virtual machines)

容器內應用程序直接執行於宿主的核心,容器內沒有自己的核心,而且也沒有進行硬體虛擬。

虛擬出一套硬體後,在其上執行乙個完整作業系統,在該系統上再執行所需應用程序。缺點:消耗硬體資源;配置和啟動都慢。

組成部分:

docker映象倉庫

微服務架構師的職責 《微服務設計讀書筆記》

如何定義架構師 架構師從英文單詞architect翻譯而來,在英文中,architect 原來的意思是 建築師 作者吐槽英文中架構師與傳統的建築師單詞相同,但實際的工作性質並不相同,以致於在英文的語境中會造成理解上的差異。傳統的建築師在設計建築時要求極端地精確,在正式施工之前會進行完整的論證 設計 ...

當今微服務盛行之架構師必經之路 領域驅動設計 上

領域驅動設計 軟體核心複雜性應對之道 全書圍繞著設計和開發實踐,結合若干真實的專案案例,向讀者闡述如何在真實的軟體開發中應用領域驅動設計。書中給出了領域驅動設計的系統化方法,並將人們普遍接受的一些最佳實踐綜合到一起,融入了作者的見解和經驗,展現了一些可擴充套件的設計最佳實踐 已驗證過的技術以及便於應...

單一世界架構初探之服務部署

單一世界的服務部署有很大的講究。我曾經在論壇上提到過大分布小集群的概念,就是跟伺服器部署有關係。我們知道,單一世界會遭遇很大的網路流量和使用者數,使用集群只能解決計算能力,卻解決不了網路流量。我們如果將所有的地圖集中放在中國某地的乙個集群中,那麼該集群將承受巨大的頻寬壓力。和http不同的是,單一世...