中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker容器定義工具有哪些

發布時間:2021-12-13 15:23:43 來源:億速云 閱讀:247 作者:iii 欄目:大數據

本篇內容介紹了“Docker容器定義工具有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1、容器規范

容器不光是 Docker,還有其他容器,比如 CoreOS 的 rkt。為了保證容器生態的健康發展,保證不同容器之間能夠兼容,包含 Docker、CoreOS、Google在內的若干公司共同成立了一個叫 Open Container Initiative(OCI) 的組織,其目是制定開放的容器規范。

2、容器 runtime

runtime 是容器真正運行的地方。runtime 需要跟操作系統 kernel 緊密協作,為容器提供運行環境。

  • lxc、runc 和 rkt 是目前主流的三種容器 runtime。

  • lxc 是 Linux 上老牌的容器 runtime。Docker 最初也是用 lxc 作為 runtime。

  • runc 是 Docker 自己開發的容器 runtime,符合 oci 規范,也是現在 Docker 的默認 runtime。

  • rkt 是 CoreOS 開發的容器 runtime,符合 oci 規范,因而能夠運行 Docker 的容器。

3、容器管理工具

光有 runtime 還不夠,用戶得有工具來管理容器啊。容器管理工具對內與 runtime 交互,對外為用戶提供 interface,比如 CLI。這就好比除了 JVM,還得提供 java 命令讓用戶能夠啟停應用不是。

  • lxd 是 lxc 對應的管理工具。

  • runc 的管理工具是 docker engine。docker engine 包含后臺 deamon 和 cli 兩個部分。我們通常提到 Docker,一般就是指的 docker engine。

  • rkt 的管理工具是 rkt cli。

4、容器定義工具

容器定義工具允許用戶定義容器的內容和屬性,這樣容器就能夠被保存,共享和重建。

  • docker image 是 docker 容器的模板,runtime 依據 docker image 創建容器。

  • dockerfile 是包含若干命令的文本文件,可以通過這些命令創建出 docker image。

  • ACI (App Container Image) 與 docker image 類似,只不過它是由 CoreOS 開發的 rkt 容器的 image 格式。

5、Registry

容器是通過 image 創建的,需要有一個倉庫來統一存放 image,這個倉庫就叫做 Registry。

  • Docker Hub(https://hub.docker.com) 是 Docker 為公眾提供的托管 Registry,上面有很多現成的 image,為 Docker 用戶提供了極大的便利。

  • Quay.io(https://quay.io/)是另一個公共托管 Registry,提供與 Docker Hub 類似的服務。

6、容器 OS

由于有容器 runtime,幾乎所有的 Linux、MAC OS 和 Windows 都可以運行容器。但這不并沒有妨礙容器 OS 的問世。

容器 OS 是專門運行容器的操作系統。與常規 OS 相比,容器 OS 通常體積更小,啟動更快。因為是為容器定制的 OS,通常它們運行容器的效率會更高。

目前已經存在不少容器 OS,CoreOS、atomic 和 ubuntu core 是其中的杰出代表。

二、說說容器    

1、什么是容器

容器是一種輕量級、可移植、自包含的軟件打包技術,使應用程序可以在幾乎任何地方以相同的方式運行。開發人員在自己筆記本上創建并測試好的容器,無需任何修改就能夠在生產系統的虛擬機、物理服務器或公有云主機上運行。

Containers vs. virtual machines

容器在 Host 操作系統的用戶空間中運行,與操作系統的其他進程隔離。這一點顯著區別于的虛擬機。

傳統的虛擬化技術,比如 VMWare, KVM, Xen,目標是創建完整的虛擬機。為了運行應用,除了部署應用本身及其依賴(通常幾十 MB),還得安裝整個操作系統(幾 GB)。

Docker容器定義工具有哪些

虛擬機和容器的區別

由于所有的容器共享同一個 Host OS,這使得容器在體積上要比虛擬機小很多。另外,啟動容器不需要啟動整個操作系統,所以容器部署和啟動速度更快,開銷更小,也更容易遷移。

2、為什么使用容器

如今的系統在架構上較十年前已經變得非常復雜了。以前幾乎所有的應用都采用三層架構(Presentation/Application/Data),系統部署到有限的幾臺物理服務器上(Web Server/Application Server/Database Server)。

而今天,開發人員通常使用多種服務(比如 MQ,Cache,DB)構建和組裝應用,而且應用很可能會部署到不同的環境,比如虛擬服務器,私有云和公有云。

一方面應用包含多種服務,這些服務有自己所依賴的庫和軟件包;另一方面存在多種部署環境,服務在運行時可能需要動態遷移到不同的環境中。這就產生了一個問題:

如何讓每種服務能夠在所有的部署環境中順利運行?

聰明的技術人員從傳統的運輸行業找到了答案。

幾十年前,運輸業面臨著類似的問題。

每一次運輸,貨主與承運方都會擔心因貨物類型的不同而導致損失,比如幾個鐵桶錯誤地壓在了一堆香蕉上。另一方面,運輸過程中需要使用不同的交通工具也讓整個過程痛苦不堪:貨物先裝上車運到碼頭,卸貨,然后裝上船,到岸后又卸下船,再裝上火車,到達目的地,最后卸貨。一半以上的時間花費在裝、卸貨上,而且搬上搬下還容易損壞貨物。

幸運的是,集裝箱的發明解決這個難題。

打一個比方,集裝箱(容器)對于遠洋運輸(應用運行)來說十分重要。集裝箱(容器)能保護貨物(應用),讓其不會相互碰撞(應用沖突)而損壞,也能保障當一些危險貨物發生規模不大的爆炸(應用崩潰)時不會波及其它貨物(應用)但是把貨物(應用)裝載在集裝箱(容器)中并不是一件簡單的事情。而出色的碼頭工人(Docker)的出現解決了這一問題。它(Docker)使得貨物裝載到集裝箱(容器)這一過程變得輕而易舉。對于遠洋運輸(應用運行)而言,用多艘小貨輪(虛擬機)代替原來的大貨輪(實體機)也能保證貨物(應用)彼此之間的安全,但是和集裝箱(容器)比,成本過高,但適合運輸某些重要貨物(應用)。

任何貨物,無論鋼琴還是保時捷,都被放到各自的集裝箱中。集裝箱在整個運輸過程中都是密封的,只有到達最終目的地才被打開。標準集裝箱可以被高效地裝卸、重疊和長途運輸。現代化的起重機可以自動在卡車、輪船和火車之間移動集裝箱。集裝箱被譽為運輸業與世界貿易最重要的發明。

Docker 將集裝箱思想運用到軟件打包上,為代碼提供了一個基于容器的標準化運輸系統。Docker 可以將任何應用及其依賴打包成一個輕量級、可移植、自包含的容器。容器可以運行在幾乎所有的操作系統上。

其實,“集裝箱” 和 “容器” 對應的英文單詞都是 “Container”。

“容器” 是國內約定俗成的叫法,可能是因為容器比集裝箱更抽象,更適合軟件領域的原故吧。

3、容器的優勢

對于開發人員

容器意味著環境隔離和可重復性。開發人員只需為應用創建一次運行環境,然后打包成容器便可在其他機器上運行。另外,容器環境與所在的 Host 環境是隔離的,就像虛擬機一樣,但更快更簡單。

對于運維人員

只需要配置好標準的 runtime 環境,服務器就可以運行任何容器。這使得運維人員的工作變得更高效,一致和可重復。容器消除了開發、測試、生產環境的不一致性。

“Docker容器定義工具有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松潘县| 霍林郭勒市| 县级市| 克拉玛依市| 保靖县| 佛山市| 丽水市| 永年县| 黎平县| 安福县| 迭部县| 杭州市| 大竹县| 柯坪县| 黑山县| 湘乡市| 华坪县| 白山市| 临邑县| 会泽县| 财经| 黄山市| 汤阴县| 怀化市| 阿瓦提县| 盘锦市| 大港区| 鸡东县| 交城县| 乳源| 台北市| 石阡县| 德江县| 丹江口市| 于都县| 时尚| 项城市| 松阳县| 弥渡县| 连云港市| 双柏县|